PHP 無限分類出力樹状図アルゴリズム コード
------解決策のアイデア--------------------- -
$ar = array(<br /> array(<br /> 'id' => 1,<br /> 'pid' => 0,<br /> 'name' => '中国',<br /> 'son' => array(<br /> array(<br /> 'id' => 3,<br /> 'pid' => 1,<br /> 'name' => '北京市',<br /> ),<br /> ),<br /> ),<br /> array(<br /> 'id' => 2,<br /> 'pid' => 0,<br /> 'name' => '日本',<br /> 'son' => array(<br /> array(<br /> 'id' => 4,<br /> 'pid' => 2,<br /> 'name' => '东京市',<br /> ),<br /> ),<br /> ),<br />);<br /><br />function tree($ar, $deep=0) {<br /> foreach($ar as $item) {<br /> printf("%s%s\n", str_repeat('——', $deep), $item['name']);<br /> if(isset($item['son'])) tree($item['son'], $deep+1);<br /> }<br />}<br /><br />tree($ar);<br />
中国<br />——北京市<br />日本<br />——东京市<br /><br />