Given I have an simple non-associative array $values
of SomeObject
items indexed by 0, 1, 2, etc.
What is the best syntax to construct associative array $valuesByIndex
indexed by some value extracted from original items?
What I constructed is:
$key = function($val) {
return $val->getSomeProperty();
};
$valuesByIndex = array_combine(array_map($key, $values), $values);
Which is pretty equals to:
$key = function($val) {
return $val->getSomeProperty();
};
$valuesByIndex = [];
foreach ($values as $val) {
$valuesByIndex[$key($val)] = $val;
}
Looking for pretty compact syntax.