배열:
<code>Array ( [0] => Array ( [id] => 1 [menu_collapse] => 超级菜单 [menu_items] => 写文章 [cid] => 1 ) [1] => Array ( [id] => 2 [menu_collapse] => 维护菜单 [menu_items] => 管理数据 [cid] => 2 ) [2] => Array ( [id] => 3 [menu_collapse] => 维护菜单 [menu_items] => 管理用户 [cid] => 2 ) )</code>
위 배열을 어떻게 변환하나요?
<code>Array ( [0] => Array ( [id] => 1 [menu_collapse] => 超级菜单 [menu_items] => 写文章 [cid] => 1 ) [1] => Array ( [new] => Array ( [id] => 2 [menu_collapse] => 维护菜单 [menu_items] => 管理数据 [cid] => 2 ) ( [id] => 2 [menu_collapse] => 维护菜单 [menu_items] => 管理数据 [cid] => 2 ) )</code>
배열:
<code>Array ( [0] => Array ( [id] => 1 [menu_collapse] => 超级菜单 [menu_items] => 写文章 [cid] => 1 ) [1] => Array ( [id] => 2 [menu_collapse] => 维护菜单 [menu_items] => 管理数据 [cid] => 2 ) [2] => Array ( [id] => 3 [menu_collapse] => 维护菜单 [menu_items] => 管理用户 [cid] => 2 ) )</code>
위 배열을 어떻게 변환하나요?
<code>Array ( [0] => Array ( [id] => 1 [menu_collapse] => 超级菜单 [menu_items] => 写文章 [cid] => 1 ) [1] => Array ( [new] => Array ( [id] => 2 [menu_collapse] => 维护菜单 [menu_items] => 管理数据 [cid] => 2 ) ( [id] => 2 [menu_collapse] => 维护菜单 [menu_items] => 管理数据 [cid] => 2 ) )</code>
<code class="php"> $arr = [ ['id' => 1, 'menu_collapse' => '超级菜单', 'menu_items' => '写文章', 'cid' => 1, ], [ 'id' => 2, 'menu_collapse' => '维护菜单', 'menu_items' => '管理数据', 'cid' => 2, ], [ 'id' => 3, 'menu_collapse' => '维护菜单', 'menu_items' => '管理用户', 'cid' => 2, ] ]; $result=[]; $res=[]; foreach($arr as $k=>$v){ $result[$v['cid']][]=$v; } foreach($result as $key=>$value){ if(count($value) == 1) { $res[$key]=$value[0]; } else{ $res[$key]['new']=$value; } } echo '<pre class="brush:php;toolbar:false">';print_r(array_values($res)); /* Array ( [0] => Array ( [id] => 1 [menu_collapse] => 超级菜单 [menu_items] => 写文章 [cid] => 1 ) [1] => Array ( [new] => Array ( [0] => Array ( [id] => 2 [menu_collapse] => 维护菜单 [menu_items] => 管理数据 [cid] => 2 ) [1] => Array ( [id] => 3 [menu_collapse] => 维护菜单 [menu_items] => 管理用户 [cid] => 2 ) ) ) ) */</code>
배열을 순회해야만 처리할 수 있습니다.