我正在尝试将多维数组中的父键重命名为子键的值。
例如,在下面的代码中,我想将键 [0] 更改为 [111],将键 [1] 更改为 [222],这样我以后就可以很容易地识别键以进行数组合并。
Array (
[0] => Array ( [product_id] => 111 [product_name] => Foo [quantity] => 4 )
[1] => Array ( [product_id] => 222 [product_name] => Bar [quantity] => 2 )
)
我已经尝试过各种方法,但在进入循环后,我不知道如何影响父键,并假设在将它传递给变量后这是不可能的。是否有一个简单的解决方案来更改我丢失的 key ,或者是进入循环并使用所需 key 重建新数组的情况?
最佳答案
使用 array_combine
和 array_column
函数的
单行解决方案:
$result = array_combine(array_column($arr, 'product_id'), $arr);
print_r($result);
输出:
Array
(
[111] => Array
(
[product_id] => 111
[product_name] => Foo
[quantity] => 4
)
[222] => Array
(
[product_id] => 222
[product_name] => Bar
[quantity] => 2
)
)
关于php - 如何将多维数组键更改为 Childs 键值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44779746/