Нет, нет более быстрого способа, чем ваш реализованный код. Все другие методы будут медленнее из-за накладных расходов при вызове функции. Для небольшого массива разница будет тривиальной, но для большого (около 100 элементов или около того, в зависимости от реализации) разница может быть огромной ...
Вы могли бы array_map
это, но я бы придерживался необработанного PHP, который вы разместили выше ... Его легче поддерживать и ИМХО более читабельно ...
В конце концов, скажите мне, какой с первого взгляда говорит вам, что он делает больше:
$results = array();
foreach ($array as $value) {
$results[] = $value['title'];
}
против
$results = array_map(function($element) {
return $element['title'];
},
$array
);
Или:
$callback = function($element) {
return $element['title'];
}
$results = array_map($callback, $array);
Лично первый делает это для меня лучше всего. Это сразу очевидно, не зная ничего что он делает. Другие требуют знания array_map
семантики, чтобы понять. Соедините это с тем фактом, что array_map
медленнее , и это двойная победа для foreach
.
Код должен быть настолько элегантным, насколько это необходимо. Это должно быть читаемым, прежде всего ...