3v4l.org

run code in 300+ PHP versions simultaneously
<?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'));

preferences:
46.25 ms | 402 KiB | 5 Q