求一维数组组织为“树形”数组的方法
好吧……问题的名字有点儿扯……
有数组输入如下:
<br />[{id=>'00'},<br />{id=>'01'},<br />{id=>'22'},<br />{id='0001'},<br />{id=>'2234'}]<br />
<br />[<br />{id=>'00',children=>{{id=>'0001'}} },<br />{id=>'01',children=>{} },<br />{id=>'22',children=>{{id=>'2234'}} }<br />]<br />
<br />$a = array('4401','00','0001','0002','22','2201');<br /> $b = array();<br /> for($i = 0; $i < count($a); $i++)<br /> {<br /> if(strlen($a[$i]) == 2)<br /> {<br /> if(!array_key_exists($a[$i],$b))<br /> {<br /> $b[$a[$i]] = array();<br /> } <br /> }<br /> else<br /> {<br /> $id = substr($a[$i], 0, 2);<br /> if(isset($b[$id]))<br /> {<br /> if(!in_array($a[$i], $b[$id]))<br /> {<br /> $b[$id][] = $a[$i]; <br /> }<br /> }<br /> else<br /> {<br /> $b[$id] = array();<br /> $b[$id][] = $a[$i]; <br /> } <br /> } <br /> }<br /> print_r($b);<br />