<br /><?<span>php
</span><span>header</span>(
"Content-type: text/html; charset=utf-8"
<span>);
</span><span>
function
</span> generateTree(<span>
$items
</span><span>)
{
</span><span>
$tree
</span> = <span>
array
</span><span>();
</span><span>
foreach
</span>(<span>
$items
</span> <span>
as
</span> <span>
$item
</span><span>){
</span><span>
if
</span>(<span>isset</span>(<span>
$items
</span>[<span>
$item
</span>[
'pid'
<span>]])){
</span><span>
$items
</span>[<span>
$item
</span>[
'pid'
]][
'son'
][] = &<span>
$items
</span>[<span>
$item
</span>[
'id'
<span>]];
}</span><span>
else
</span><span>{
</span><span>
$tree
</span>[] = &<span>
$items
</span>[<span>
$item
</span>[
'id'
<span>]];
}
}
</span><span>
return
</span> <span>
$tree
</span><span>;
}<br />
</span><span>
$items
</span> = <span>
array
</span><span>(
</span>1 => <span>
array
</span>(
'id'
=> 1,
'pid'
=> 0,
'name'
=>
'安徽省'
),
2 => <span>
array
</span>(
'id'
=> 2,
'pid'
=> 0,
'name'
=>
'浙江省'
),
3 => <span>
array
</span>(
'id'
=> 3,
'pid'
=> 1,
'name'
=>
'合肥市'
),
4 => <span>
array
</span>(
'id'
=> 4,
'pid'
=> 3,
'name'
=>
'长丰县'
),
5 => <span>
array
</span>(
'id'
=> 5,
'pid'
=> 1,
'name'
=>
'安庆市'
),<span>
);
</span><span>
echo
</span>
"<pre class="
brush:php;toolbar:false
">"
<span>;
</span><span>print_r</span>(generateTree(<span>
$items
</span>));