Я довольно часто использую
array_column для индексации объектов и ассоциативных массивов по публичному свойству/ключу:
final readonly class Article
{
public function __construct(
public string $articleId,
public string $title,
) {}
}
array_column(
array: [
new Article(Ramsey\Uuid\v7(), 'Люблю PHP'),
new Article(Ramsey\Uuid\v7(), 'Безразличен к Go'),
new Article(Ramsey\Uuid\v7(), 'Уважаю Scala'),
],
column_key: null,
index_key: 'articleId',
);
И с тех пор, как у нас появились именованные аргументы, очень хочется писать короче:
array_column($articles, index_key: 'articleId'). А нельзя, потому что второй параметр $column_key обязательный.Прямо сейчас у меня так много всяких организаторских дел, что я готов себе позволить отвлечься только на что-то очень полезное и нестандартное, чтобы качественно переключиться. И вот только что, буквально за 10 минут, состряпал простейший PR, который делает
$column_key опциональным. Надеялся, что такое просто смержат после ревью, но уважаемый мейнтейнер Tim Düsterhus порекомендовал обсудить это изменение в internals. Что ж, письмо будет следующим отвлечением! А вы пока накиньте там лайков, пожалуйста.____________
Вчера мне скинули видео готового слоника Пых, и я оплатил вторую половину счёта. Так что сегодня-завтра вся партия отправится в Москву транспортной компанией! Готовьте свои СДЕКи 😉