記錄php無限極分類的幾種方法

2021-10-05 02:48:40 字數 1452 閱讀 2283

<?php

date_default_timezone_set('asia/shanghai');

//示例陣列

$arr = array(

array('id' => 1, 'pid' => 0, 'name' => '河北省'),

array('id' => 2, 'pid' => 0, 'name' => '北京市'),

array('id' => 5, 'pid' => 2, 'name' => '通州區'),

array('id' => 4, 'pid' => 2, 'name' => '朝陽區'),

array('id' => 3, 'pid' => 1, 'name' => '邯鄲市'),

array('id' => 6, 'pid' => 4, 'name' => '望京'),

array('id' => 7, 'pid' => 4, 'name' => '酒仙橋'),

array('id' => 8, 'pid' => 3, 'name' => '永年區'),

array('id' => 9, 'pid' => 1, 'name' => '武安市'),

);/**

* notes: 無限極分類--遞迴 這個只能得到排序好的一維陣列

* @param $array

* @param int $pid 需要的頂級分類

* @param int $deep 分類等級

* @return array

*/function gettree($array, $pid=0, $deep = 0)

}return $list;

}/**

* notes: 無限極分類--遞迴 這個可以得到樹形結構的多維陣列,但是無法找出沒有父級的資料(頂級分類除外)

* @param array $array

* @param int $pid

* @param int $deep 分類等級

* @return array

*/function gettree2($array = array(), $pid = 0, $deep = 0)

}return $list;

}/**

* notes: 無限極分類 --引用 這個可以得到乙個樹形結構的多維陣列 執行效率要高於遞迴方式

* @param array $array

* @return array

*/function gettree3($array = array())

$tree = array();

foreach ($data as $k => $v) else

}return $tree;

}$res = gettree2($arr);

echo "";

print_r($res);

?>

php無限極分類

無限級分類 param1 array categories,要分類的陣列 param2 int stop id 不需要查詢子分類的id param3 int parent id 0,要查詢父分類id 欄位名稱 param4 int level 0,當前商品分類所屬的層級 根據level計算縮排的距離...

PHP無限極分類

function gentree5 items function gentree7 items items array 1 array id 1,pid 0,name 江西省 2 array id 2,pid 0,name 黑龍江省 3 array id 3,pid 1,name 南昌市 4 arr...

PHP無限極分類

無限極分類.html 本文部落格部分內容是上述網上內容搬運過來的。無限極分類在web 中應用很多,比如無限極選單,無限極資料夾展開。因為最近的專案中有用到樹的結構,其實就是無限極選單的儲存。在某次面試中也有提及,所以這裡集合上述網上的資料總結一下。使用場景 1 需要獲取所有的節點,也就是無限極選單的...