php7 有什么方法不用循环的情况下,将一个二维数组的value值拼接成二维数组的key值
时间: 2024-02-24 21:57:23 浏览: 12
可以使用 PHP7 中的 array_reduce() 函数来实现。该函数接受三个参数:待处理的数组、回调函数和初始值。
在回调函数中,可以根据数组的 value 值来拼接成新的 key 值,然后将其作为新的数组返回。最后,将所有的新数组合并起来,就可以得到一个新的二维数组了。
以下是一个示例代码:
```
$array = array(
array('id' => 1, 'name' => 'Tom', 'age' => 20),
array('id' => 2, 'name' => 'Jerry', 'age' => 30),
array('id' => 3, 'name' => 'Mike', 'age' => 25)
);
$newArray = array_reduce($array, function($result, $item) {
$key = $item['name'] . '_' . $item['age'];
$result[$key] = $item;
return $result;
}, array());
print_r($newArray);
```
输出结果如下:
```
Array
(
[Tom_20] => Array
(
[id] => 1
[name] => Tom
[age] => 20
)
[Jerry_30] => Array
(
[id] => 2
[name] => Jerry
[age] => 30
)
[Mike_25] => Array
(
[id] => 3
[name] => Mike
[age] => 25
)
)
```