TGViewer
Пых Пых @phpyh · 7.84K subscribers
Post #771 5.78K
Опциональный $column_key в array_column

Я довольно часто использую 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. Что ж, письмо будет следующим отвлечением! А вы пока накиньте там лайков, пожалуйста.
____________

Вчера мне скинули видео готового слоника Пых, и я оплатил вторую половину счёта. Так что сегодня-завтра вся партия отправится в Москву транспортной компанией! Готовьте свои СДЕКи 😉
GitHub Make parameter $column_key optional in array_column() by vudaltsov · Pull Request #18994 · php/php-src Quite often in my code I reindex object collections via array_column. However, I have to explicitly pass null to $column_key instead of skipping it. Here's a change that makes possible this...
  • 👍 29
  • ❤ 25
  • 🔥 16
  • 👏 1
More from @phpyh
  1. Sep 28, 2026Запустили Пыхник и неделю PHP! Залетайте на первый открытый доклад от Дмитрия Dantes про к…
  2. Sep 15, 2026Сейчас один человек с AI может выполнять работу целого IT-отдела. Только хуёво
  3. Sep 12, 2026Спасибо за заявки! Всем напишу в понедельник. Осталось 1 место.
  4. Sep 11, 2026Хардкорный курс асинхронного PHP https://hardcourse.ru/php/async
  5. Sep 11, 2026Ещё полчасика надо — сайт готов, расписываю программу! 🙏
  6. Sep 10, 2026Краткое содержание: завтра в 12:00 открываю набор на Хардкорный курс асинхронного PHP с уч…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →