- var_dump: documentation ( source)
<?php
function createArrayMap(iterable $input, string $indexKey, ?string $valueKey = null): array
{
$map = [];
foreach ($input as $obj) {
$arr = $obj;
$mapKey = $arr[$indexKey];
$value = $valueKey !== null ? $arr[$valueKey] : $obj;
if (!array_key_exists($mapKey, $map)) {
$map[$mapKey] = [];
}
$map[$mapKey][] = $value;
}
return $map;
}
$data = [
[
'key' => 'first',
'name' => 'Foo'
],
[
'key' => 'second',
'name' => 'Bar'
],
null
];
var_dump(createArrayMap($data, 'key'));