Не просто ещё одна, а умная, востребованная функция, чисто скриптовая (и потому гораздо более медленная) реализация которой наверняка есть в большинстве самописных библиотек.
Приятно, что, в отличие от изначально планировавшегося варианта функции array_column(), добавилась возможность указать не только столбец значений (второй параметр), но и столбец ключей (необязательный третий параметр).
Но, к сожалению, текущий дизайн функции по-прежнему раскрывает её потенциал не полностью: всё ещё нет нужной возможности использовать в качестве значений результирующего массива не значение из конкретного столбца, а всю исходную «строку». Этому посвящён баг-репорт № 64493. Предлагаемый синтаксис: сделать второй параметр необязательным и использовать значение null для его пропуска (третий параметр при отсутствии второго становится обязательным):
array_column($rows, null, 'id');
Если возможность реализована не будет, придётся делать так:
array_combine(array_column($rows, 'id'), $rows);
Хотя это, конечно, всё равно лучше, чем явный перебор с помощью foreach.
Возможность использовать в качестве ключа произвольный столбец теперь, начиная с PHP 5.5.0beta1, включена непосредственно в array_column() (имя столбца-ключа указывается в третьем необязательном параметре).
Возможности использования целиком «строк» в качестве значений результирующего массива посвящён баг-репорт № 64493.
На самом деле туда (мне на почту пришло уведомление о твоём ответе [исходном, ещё не продублированном] на мой комментарий) — это, похоже, баг Хабра в алгоритме генерации дерева комментариев (баг-репорт я уже отправил).
В плане вёрстки в последнее время проблематичен больше именно Chrome, нежели Opera. У движка Opera как раз уже всё стало вполне хорошо. Впрочем, наше обсуждение здесь уже, увы, ничего не изменит.
С другой стороны, в Opera теперь, стало быть, заработает background-position-x/-y, и это, возможно, станет дополнительным поводом для их стандартизации. :-)
Учитывая зубодробительные баги WebKit (например, непредсказуемое пропадание рамок некоторых ячеек таблиц при отступах ячеек, заданных в единицах em), новость неоднозначная. Переход на Gecko, пожалуй, порадовал бы больше.
Англоязычная версия страницы отображается корректно.
array_column(), добавилась возможность указать не только столбец значений (второй параметр), но и столбец ключей (необязательный третий параметр).Но, к сожалению, текущий дизайн функции по-прежнему раскрывает её потенциал не полностью: всё ещё нет нужной возможности использовать в качестве значений результирующего массива не значение из конкретного столбца, а всю исходную «строку». Этому посвящён баг-репорт № 64493. Предлагаемый синтаксис: сделать второй параметр необязательным и использовать значение
nullдля его пропуска (третий параметр при отсутствии второго становится обязательным):Если возможность реализована не будет, придётся делать так:
Хотя это, конечно, всё равно лучше, чем явный перебор с помощью
foreach.array_column()(имя столбца-ключа указывается в третьем необязательном параметре).Возможности использования целиком «строк» в качестве значений результирующего массива посвящён баг-репорт № 64493.
Кстати, скобки при создании экземляра объекта без аргументов необязательны.
На самом деле туда (мне на почту пришло уведомление о твоём ответе [исходном, ещё не продублированном] на мой комментарий) — это, похоже, баг Хабра в алгоритме генерации дерева комментариев (баг-репорт я уже отправил).
С другой стороны, в Opera теперь, стало быть, заработает
background-position-x/-y, и это, возможно, станет дополнительным поводом для их стандартизации. :-)em), новость неоднозначная. Переход на Gecko, пожалуй, порадовал бы больше.display: block), и щёлкать по ним по-прежнему неудобно.(Монитор меня как потребителя интересует значительно больше.)