<?php
$arr = array('id' => 1, 'name' => 'Fred');
$result = array_map_assoc(
function ($key, $value) {
return $value;
},
$arr
);
$result2 = array_map_assoc(
function ($key, $value, $value2) {
return "$value2 ($key: $value)";
},
$arr,
[
'Foo',
'Bar',
]
);
var_dump($result, $result2);
function array_map_assoc(callable $callback, array $array, array ...$arrays) {
$keys = array_keys($array);
array_unshift($arrays, $keys, $array);
return array_combine($keys, array_map($callback, ...$arrays));
}
- Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- array(2) {
["id"]=>
int(1)
["name"]=>
string(4) "Fred"
}
array(2) {
["id"]=>
string(11) "Foo (id: 1)"
["name"]=>
string(16) "Bar (name: Fred)"
}
preferences:
78.52 ms | 407 KiB | 5 Q