如何从一个数组创建多个数组?
问题描述:
我在同一级别有一个数组.
I have an array in the same level.
$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")
);
谢谢
答
这会将$ original数组在每个以'03'开头的元素处拆分为子数组:
This splits the $original array into sub arrays at each element starting with '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;