Как можно переписать и упростить эту жесть ArrayHelper::map($this->dataBuilder, function ($el) { if (isset($el['name']) && isset($el['label'])) return $el['name']; },function ($el) { if (isset($el['name']) && isset($el['label'])) return $el['label']; } )
тут скорее так. для метода с массивами пишешь на прием коллекцию (итерабле), а для строки второй метод. Третий просто выбор иф строка -> запускаем хендлер строки.