У меня массив на одном уровне.
$original = Array( 0=>"03ssss",//substr("03ssss",0,2)="03" => parent index 1=>"04aaaa", 2=>"05absd", 3=>"07sdsa", 4=>"08sdsd", 5=>"03tttt", //substr("03tttt",0,2)="03" => parent index 6=>"04xxxx, //substr("03xxxx",0,2)="04" => child index 7=>"05sdds", 8=>"07sdfd", 9=>"08sdff", 10=>"04xsax", //substr("03xxxx",0,2)="04" => child index 11=>"05sdfs", 12=>"07sdfds", 13=>"08asap", )
Как можно создать от $original
до нескольких массивов что-то вроде этого?
$move_level = Array( 0=>array(0=>"04aaaa 05absd 07sdsa 08sdsd"), 1=>array(0=>"04xxxx 05sdds 07sdfd 08sdff", 1=>"04xsax 05sdfs 07sdfds 08asap") );
благодаря
Это разбивает исходный массив $ на вспомогательные массивы для каждого элемента, начиная с '03':
$move_level = array(); $ary = array(); foreach($original as $value) { if (strpos($value, '03') === 0) { $move_level[] = $ary; $ary = array(); } else { $ary[] = $value; } } $move_level[] = $ary;