Учитывая, что у меня есть простой неассоциативный массив $values
из SomeObject
элементов, проиндексированных на 0, 1, 2 и т. Д.
Каков наилучший синтаксис для построения ассоциативного массива $valuesByIndex
, проиндексированный некоторым значением, извлеченным из исходных элементов?
То, что я построил, это:
$key = function($val) {
return $val->getSomeProperty();
};
$valuesByIndex = array_combine(array_map($key, $values), $values);
Что довольно равно:
$key = function($val) {
return $val->getSomeProperty();
};
$valuesByIndex = [];
foreach ($values as $val) {
$valuesByIndex[$key($val)] = $val;
}
Ищем довольно компактный синтаксис.