多维数组遍历,求大佬解答???
问题描述
$result=array( array('name'=>'网络','电话'=>'12345678910','answer'=> array( 'question_id'=>'第1', 'answer'=>'程序测试1',), array('question_id'=>'第2','answer'=>'程序测试2', ) ), array('name'=>'网络1','电话'=>'12345678911','answer'=> array('question_id'=>'第3','answer'=>'程序测试3', ),array( 'question_id'=>'第4', 'answer'=>'程序测试4',) ));//将上边数组遍历成下边数组,求大佬。。$result2=array( array('name'=>'网络','电话'=>'12345678910','第1'=>'程序测试1','第2'=>'程序测试2', ), array('name'=>'网络1','电话'=>'12345678911','第3'=>'程序测试3','第4'=>'程序测试4', ));
问题解答
回答1:以下程序不管$result键名怎么改都能得到你想要合并的数组:
$arr = [];
foreach ($result as $k => $v){
foreach ($result[$k] as $k1 =>$v2){
if (is_array($result[$k][$k1])){
foreach ($result[$k][$k1] as $k2 => $v2){
$arr[] = $v2;
}
$temp = [$arr[0] => $arr[1]];
unset ($result[$k][$k1]);
unset ($arr);
$result[$k] = array_merge($result[$k],$temp);
unset($temp);
}
}
}
回答2:你这个写得不清不楚的我没法帮你看