Php 如何使用array_column或foreach获得结果
这是我的数组,使用array_column或任何循环,我想替换键作为下一个元素的值。我不想更改父数组索引Php 如何使用array_column或foreach获得结果,php,arrays,function,loops,Php,Arrays,Function,Loops,这是我的数组,使用array_column或任何循环,我想替换键作为下一个元素的值。我不想更改父数组索引 Array ( [0] => Array ( [id] => 11 [total] => 100000 [content] => abc ) [1] =>
Array
(
[0] => Array
(
[id] => 11
[total] => 100000
[content] => abc
)
[1] => Array
(
[id] => 22
[total] => 200000
[content] => def
)
)
这是我想要的阵列
Array
(
[0] => Array
(
[11] => 100000
[content] => abc
)
[1] => Array
(
[22] => 200000
[content] => def
)
)
很简单,请尝试以下方法:-
$array = array(
'0'=>array('id'=> 10,'total'=> 100000,'content' => 'abc'),
'1'=>array('id'=> 11,'total'=> 200000,'content' => 'def')
);
foreach($array as $key => $val){
$array[$key][$val['id']] = $val['total'];
unset($array[$key]['total']);
unset($array[$key]['id']);
}
echo "<pre>"; print_r($array); die; // print array data here
希望有帮助 使用“foreach”来修改现有的数组非常完美,但是“array\u walk”更具表现力,因为它是为这个任务而设计的
$new = array_map(function($x) {
return [ $x['id']=> $x['total'], 'content' => $x['content']]; },
$array);
它可以通过数组映射函数来完成
向我们展示您的实现…您尝试了什么?您至少必须尝试任何东西。。。
$new = array_map(function($x) {
return [ $x['id']=> $x['total'], 'content' => $x['content']]; },
$array);