PHP 遞迴無限極下級

2022-05-30 13:21:10 字數 2578 閱讀 2230

下面是自己用到的一些遞迴方法,當然都是借鑑的,各位看官請勿怪

第一種 有層級

$array = array

(

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

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

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

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

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

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

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

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

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

array('id' => 10, 'pid' => 8, 'n' => '永年區鎮'),

array('id' => 11, 'pid' => 0, 'n' => '上海市')

);/*

* 遞迴獲取無限極 -- 有層級

* @parem $array 陣列

* @parem $pid ,最高端別,預設為0,輸出從pid 級別的資料

* @parem $level 層級,預設0

* */

function gettree($array, $pid =0, $level = 0)

}return

$list;}

//呼叫

$list=gettree($array

);/*

*根據指定id 的查詢,所有的父級

* @parem $id_pid 要查詢的id 或者 要查詢id的pid;如果傳入的是id 包括當前id 值,如果傳入id_pid不包括當前id的值

* @parem $array 查分類的資料,在專案使用中此引數可以不傳,直接使用sql 查詢

* @parem $level 當前id所在層級,預設2

* */

function getparent($id_pid,$array=array(), $level = 2)}}

return

$list;}

//呼叫

$lists = getparent(10,$array, $level = 5);

此方法借鑑於  雪劍無影 大大部落格。

再次感謝

第二種遞迴方法--無層級

//

1.整個會員表的資料

$member = array

(

array('id'=>1, 'agentid'=>0, 'nickname' => 'a'),

array('id'=>2, 'agentid'=>1, 'nickname' => 'b'),

array('id'=>3, 'agentid'=>1, 'nickname' => 'c'),

array('id'=>4, 'agentid'=>8, 'nickname' => 'd'),

array('id'=>5, 'agentid'=>3, 'nickname' => 'e'),

array('id'=>6, 'agentid'=>3, 'nickname' => 'f'),

array('id'=>7, 'agentid'=>3, 'nickname' => 'g'),

array('id'=>8, 'agentid'=>8, 'nickname' => 'h')

);/*

*2.獲取某個會員的無限下級方法

*$members是所有會員資料表,$mid是使用者的id

*/function getteammember($members, $mid

) }

}$mids=$othermids;//

foreach中找到的我的下級集合,用來下次迴圈

} while ($state==true

);

return

$teams;}

$res=getteammember($member ,1);

該方法借鑑自  高久峰 大大的部落格。

遞迴層級自定下級

*分類遞迴

* $categorys 數值 $pid父類id

$l等級

*/function getparents($categorys,$pid = 0,$l=0)

$list = $v

; }

}return

$list

;}

該方法借鑑自  公子肆  大大的部落格。

再次感謝。

本文只是博主自己儲存用到的一些方法,如果對您有所幫助,是對博主最大的滿足

再次感謝兩位大大的分享

2023年04月10日

php遞迴實現無限極分類

一 陣列 categories array array id 1,name 陝西 parent id 0 array id 2,name 西安 parent id 1 array id 3,name 長安區 parent id 2 array id 4,name 河南 parent id 0 arr...

無限極聯動 遞迴

最近寫了乙個四級聯動,現在分享下 其實是可以無限極聯動,只要資料夠多 定義方法,返回值根據自己的來我的是result public result lian 最後全部查完 返回列印 return result.ok data list public list xx int fid,int le 根據父...

遞迴 無限極分類

遞迴無限極分類就是自身呼叫自身進行迴圈操作,有兩種辦法一種是通過等級另一種是通過資料結構進行資料迴圈 public function roles data,pid 0,levae 0 將資料轉換成陣列 d json decode json encode data true array array 將...