$arr = Array ( ' group ' = 0, ' name ' = ' guest test1 ', ' sort ' = 0), 1 = = Array ( ' group ' = 1, ' name ' = ' guest test2 ', ' sort ' and ' = 1 ', 2 = = Array (' group ' = + 1, ' name ' = ' guest ' test3 ', ' sort ' = ' 2 '),
3 = = Array (' group ' = 0, ' name ' = ' guest test4 ', ' sort ' = ' = 3 '), 4 = = Array (' group ' = 2, ' name ' = = ' Guest test5 ', ' sort ' and ' 4 ', 5 = = Array (' group ' = 2, ' name ' = ' guest ' Test6 ', ' sort ' = 5), );
The original array, like above, wants the loop to get the following result:
$rs = Array ( ' group ' = 0, ' name ' = ' guest test1 ', ' sort ' = 0), ' group_1 ' = = Array (
array (' group ' = 1, ' name ' = ' guest test2 ', ' sort ' and ' = 1 '), Array (' group ' = 1, ' name ' = ' guest ' test3 ', ' sort ' = 2 '), 3 = = Array (' group ' = 0, ' name ' = ' guest test4 ', ' sort ' = = 3), ' group_2 ' = = Array ( C8/>array (' group ' = 2, ' name ' = ' guest test5 ', ' sort ' and ' = 4 '), Array (' group ' = 2, ' name ' = ' guest ' Test6 ', ' so RT ' = 5), ) );
Can be extracted from the group, while preserving the sort, I always can't write, please God Help
Reply to discussion (solution)
$arr = Array (0 = = Array (' group ' = + 0, ' name ' = ' guest test1 ', ' sort ' = 0), 1 = = Array (' group ' = 1, ' name ' = ' guest test2 ', ' sort ' = ' = 1 '), 2 = = Array (' group ' + 1, ' name ' = ' guest ' test 3 ', ' sort ' and ' = 2 ', 3 = = Array (' group ' + 0, ' name ' = ' guest test4 ', ' sort ' = 3), 4-= array (' Group ' = 2, ' name ' = ' guest test5 ', ' sort ' and ' = 4 ', 5 = = Array (' group ' = + 2, ' name ' = ' guest ' Test6 ', ' sort ' = ' 5 '); for Each ($arr as $k + $v) {if ($v [' group '] = = 0) {$g = $k; $res [$g] = $v; }else $res [$g] [' group_1 '] [] = $v;} Print_r ($res);
Array ([0] = = Array ([group] = 0 [name] + guest Test1 [sort] = 0 [Group_1] = = Array ([0] = = Array ( [Group] = 1 [name] + guest Test2 [sort] + 1 ) [1] = = Array ([Group] = = 1 [name] + guest Test3 [sort] + 2) )) [3] = = Array ([group] = 0 [Name] = Guest Test4 [s ORT] = 3 [group_1] = = Array ([0] = = Array ( [Group] = 2 [name] + guest TEST5 [so RT] = 4 ) [1] = = Array ([Group] = 2 [Name] + guest Test6 [sort] = 5) ) ))
$arr = Array ( ' group ' = 0, ' name ' = ' guest test1 ', ' sort ' = 0), 1 = = Array ( ' group ' = 1, ' name ' = ' guest test2 ', ' sort ' and ' = 1 ', 2 = = Array (' group ' = + 1, ' name ' = ' guest ' test3 ', ' sort ' = ' 2 '),
3 = = Array (' group ' = 0, ' name ' = ' guest test4 ', ' sort ' = ' = 3 '), 4 = = Array (' group ' = 2, ' name ' = = ' Guest test5 ', ' sort ' and ' 4 ', 5 = = Array (' group ' = 2, ' name ' = ' guest Test6 ', ' sort ' = ' 5 '), $data = Arra Y (), foreach ($arr as $key = + $val) {if ($val [' Group ']==0) {$tmp = $key; $data [$tmp] = $val;} else{$data [$tmp] [' group_ '. $val [' group ']][] = $val;}} Print_r ($data);
May not be clear, I want the result is as follows, upstairs 2 people gave the result is not this
Array ([0] = = Array ([group] = 0 [name] + guest Test1 [sort] = 0 ) [Group_1] = = Array ([0] = = Array ([Group] = 1 [Name] + guest Test2 [sort] = 1) [1] = = Array ([Group] = 1 [name] + guest Test3 [sort] + 2 )) [3] = = Array ([group] = 0 [name] + guest TEST4 [Sort] = 3) [group_2] = = Array ([0] = = Array ([ Group] = 2 [name] + guest Test5 [sort] = 4) [1] = > Array ([Group] = 2 [name] + guest TEST6 [Sort] = 5 ) ))
$arr = Array ( ' group ' = 0, ' name ' = ' guest test1 ', ' sort ' = 0), 1 = = Array ( ' group ' = 1, ' name ' = ' guest test2 ', ' sort ' and ' = 1 ', 2 = = Array (' group ' = + 1, ' name ' = ' guest ' test3 ', ' sort ' = ' 2 '),
3 = = Array (' group ' = 0, ' name ' = ' guest test4 ', ' sort ' = ' = 3 '), 4 = = Array (' group ' = 2, ' name ' = = ' Guest test5 ', ' sort ' and ' 4 ', 5 = = Array (' group ' = 2, ' name ' = ' guest Test6 ', ' sort ' = ' 5 '), $data = Arra Y (), foreach ($arr as $k = + $v) {if ($v [' Group ']==0) {$data [$k] = $v;} else{$data [' Group_ '. $v [' group ']][] = $v;}} Print_r ($data);
$arr = Array ( ' group ' = 0, ' name ' = ' guest test1 ', ' sort ' = 0), 1 = = Array ( ' group ' = 1, ' name ' = ' guest test2 ', ' sort ' and ' = 1 ', 2 = = Array (' group ' = + 1, ' name ' = ' guest ' test3 ', ' sort ' = ' 2 '),
3 = = Array (' group ' = 0, ' name ' = ' guest test4 ', ' sort ' = ' = 3 '), 4 = = Array (' group ' = 2, ' name ' = = ' Guest test5 ', ' sort ' and ' 4 ', 5 = = Array (' group ' = 2, ' name ' = ' guest Test6 ', ' sort ' = ' 5 '), $data = Arra Y (), foreach ($arr as $k = + $v) {if ($v [' Group ']==0) {$data [$k] = $v;} else{$data [' Group_ '. $v [' group ']][] = $v;}} Print_r ($data);
Thank you so much