まず、無限分類のデータテーブルを作成します。ここでは id、name、pid のタイプを使用します (もちろん、id、name、pid、path など、無限分類の方法はたくさんあります。左右のノードが形成されます)。 )
CREATE TABLE `class` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(128) デフォルト NULL,
`pid` int(11) デフォルト NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
ここではデータを追加せずに配列を使用してシミュレーションします。 。 。
$items = array(
1 => array('sid' => 1, 'pid' => 0, 'name' => '江西省'),
2 => array('sid ' => 2, 'pid' => 0, '黒竜江省'),
3 => 3, 'pid' => ' name' => '南昌市'),
4 => array('sid' => 4, 'pid' => 2, 'name' => 'ハルビン市'),
5 => ; array('sid' => 5, 'pid' => 2, 'name' => '集西市'),
6 => array('sid' => 6, 'pid' = > 4, '名前' => '祥坊区'),
7 => array('sid' => 4, '名前' => '南港区' ) ,
8 => array('sid' => 8, 'pid' => 6, 'name' => '六角路'),
9 => array('sid' => ; 9 , 'pid' => 7, 'name' => 'Xidazhi Street'),
10 => array('sid' => 10, 'pid' => 8, 'name' => '東北林業大学'),
11 => array('sid' => 11, 'pid' => 9, 'name' => 'ハルビン工業大学'),
12 = > ('sid' => 12, 'pid' => 8, 'name' => 'ハルビン師範大学'),
13 => array('sid' => 13, 'pid ' => ; 1, '名前' => '甘州市'),
14 => array('sid' => 14, 'pid' => '甘県 '),
15 => array('sid' => 15, 'pid' => 13, 'name' => '玉都県'),
16 => array('sid' = > 16, 'pid' => 14, 'name' => 'Maodian Town'),
17 => array('sid' => 14, 'name ' => '大田郷'),
18 => array('sid' => 18, 'pid' => 16, 'name' => '宜源村'),
19 => array('sid' ; => 19, 'pid' => 16, '名前' => 20 => 20, 'pid' => '名前' => '広東省'),
21 => array('sid' => 21, 'pid' => 20, 'name' => '広州市' ),
22 => array('sid' => 22, 'pid' => 20, 'name' => '東莞市'),
);
コードは次のとおりです:
$t = array();
foreach ($items as $id => $item) {
echo $item['pid'];
if ($item['pid']) {
$items[$ item['pid']][$item['sid']] = &$items[$item['sid']]
$t[] = $id }
}
foreach($t として$u) {
unset($items[$u]);
}
echo "
";<br>print_r($items);<br>echo "";
印刷結果は次のとおりです:
上記のコードは私がインターネット上で収集したもので、比較的古典的であり、他のコードに比べてコードの量が少ないと思います。 。
私たちと共有してくれたインターネット上の素晴らしい人々に感謝します。 。 。
http://www.bkjia.com/PHPjc/440175.html