使用php将多维数组的值设置为新数组的键
我有这个阵列使用php将多维数组的值设置为新数组的键,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有这个阵列 array ( 0 => array ( 'sno' => 'q3', 'result' => '15', ), 1 => array ( 'sno' => 'q1', 'result' => '5', ), 2 => array ( 'sno' => 'q2', 'result' => '10', ), ) 我想要这个结果数组 array ( 'q3' => '15', 'q
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'
)
如果可能,不使用任何循环?
如果是,则如何?使用可以从数组中创建包含自定义键/值的新数组
$newArr = array_reduce($oldArr, function($carry, $item){
$carry[$item["sno"]] = $item["result"];
return $carry;
});
检查中的代码结果这是您的输入数组,
$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
)
我正在做的是
$result = array_combine(array_column($arr, 'sno'), array_column($arr, 'result'));
// $result = array_column($arr,'result','sno');
Array
(
[q3] => 15
[q1] => 5
[q2] => 10
)
这里是工作代码
你试过什么?看一看这张单子。是你要找的函数吗?我已经用过forch loop了@markbaker回答它终于找到了解决方案谢谢的@markbaker