多维数组遍历,求大佬解答???
小帅
小帅 2019-10-08 14:34:22
0
3
1058

       $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',
           )
       );

小帅
小帅

全部回复(2)
海风

以下程序不管$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);

}

}

    }


移动用户-6569216

你这个写得不清不楚的我没法帮你看

  • 回复 谢谢你,我现在搞定了,是这样的: $result2=array(); foreach($result as $k=>$v){ $result2[$k]['name'] = $v['name']; $result2[$k]['电话'] = $v['电话']; foreach($v['answer'] as $ak=>$av){ $result2[$k][$av['question_id']] = $av['answer']; } }
    小帅 作者 2019-10-08 16:57:23
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!