Php 复制数组值的数字键
我有以下代码:Php 复制数组值的数字键,php,arrays,Php,Arrays,我有以下代码: Array ( [0] => Array ( [id] => '157a', [name] => '***', ) [1] => Array ( [id] => '158a', [name] => '***', ) 需要为数组值('157a','158a')复制数字键
Array
(
[0] => Array
(
[id] => '157a',
[name] => '***',
)
[1] => Array
(
[id] => '158a',
[name] => '***',
)
需要为数组值('157a','158a')复制数字键(0,1):
实现这一目标最有效的方法是什么?不知道这是否有效,但我会这样做:
$newArray = [];
foreach($array as $v)
{
$newArray[$v['id']] = $v;
}
您可以使用:
array_column($input, $item, 'id');
或者,您可以使用函数式编程方式来实现这一点
$changedArray = array_reduce($input, function ($result, $item) {
$result[$item['id']] = $item;
return $result;
}, array());
var_dump($changedArray);
将
null
作为第二个参数传递到array\u column()
以获取整个子数组,并将id
作为第三个参数传递,以该列的值对数组进行索引:
$array = array_column($array, null, 'id');
您是否希望从第一个数组创建第二个数组?我没有尝试修改现有数组,而是以所需格式创建了一个新数组。。。很好也很简单。所以基本上只需要创建一个新数组,而不是编辑现有数组中的键名?
$array = array_column($array, null, 'id');