我有这个数组
array (
0 => array ( 'sno' => 'q3', 'result' => '15', ),
1 => array ( 'sno' => 'q1', 'result' => '5', ),
2 => array ( 'sno' => 'q2', 'result' => '10', ),
)
我想要这个结果数组
array (
'q3' => '15',
'q1' => '5',
'q2' =>'10'
)
如果可能,不使用任何循环? 如果是,那么如何?
答案 0 :(得分:0)
使用array_reduce()
,您可以创建包含数组中自定义键/值的新数组。
$newArr = array_reduce($oldArr, function($carry, $item){
$carry[$item["sno"]] = $item["result"];
return $carry;
});
在demo
中检查代码结果答案 1 :(得分:0)
这是您的输入数组
$arr= array (
0 => array ( 'sno' => 'q3', 'result' => '15', ),
1 => array ( 'sno' => 'q1', 'result' => '5', ),
2 => array ( 'sno' => 'q2', 'result' => '10', ),
);
以下是一个班轮代码:
$result = array_combine(array_column($arr, 'sno'), array_column($arr, 'result'));
// $result = array_column($arr,'result','sno');
我正在做的是
输出:
Array
(
[q3] => 15
[q1] => 5
[q2] => 10
)
以下是工作代码