php遞歸實(shí)現(xiàn)無(wú)限分類的方法
更新時(shí)間:2015年07月28日 14:38:47 作者:yak
這篇文章主要介紹了php遞歸實(shí)現(xiàn)無(wú)限分類的方法,涉及php遞歸遍歷的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了php遞歸實(shí)現(xiàn)無(wú)限分類的方法。分享給大家供大家參考。具體如下:
<?php
$rows = array(
array(
'id' => 1,
'name' => 'dev',
'parentid' => 0
),
array(
'id' => 2,
'name' => 'php',
'parentid' => 1
),
array(
'id' => 3,
'name' => 'smarty',
'parentid' => 2
),
array(
'id' => 4,
'name' => 'life',
'parentid' => 0
),
array(
'id' => 5,
'name' => 'pdo',
'parentid' => 2
),
array(
'id' => 6,
'name' => 'pdo-mysql',
'parentid' => 5
),
array(
'id' => 7,
'name' => 'java',
'parentid' => 1
)
);
// 72648
// 84072
function findChild(&$arr,$id){
$childs=array();
foreach ($arr as $k => $v){
if($v['parentid']== $id){
$childs[]=$v;
}
}
return $childs;
}
function build_tree($root_id){
global $rows;
$childs=findChild($rows,$root_id);
if(empty($childs)){
return null;
}
foreach ($childs as $k => $v){
$rescurTree=build_tree($v[id]);
if( null != $rescurTree){
$childs[$k]['childs']=$rescurTree;
}
}
return $childs;
}
$tree=build_tree(0);
echo memory_get_usage();
print_r($tree);
?>
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
相關(guān)文章
smarty模板嵌套之include與fetch性能測(cè)試
使用模板時(shí)難免要碰到模板嵌套的時(shí)候,大家都知道有兩種方法可以實(shí)現(xiàn),以下是個(gè)人早期的一些使用感受。2010-12-12
詳解PHP 7.4 中數(shù)組延展操作符語(yǔ)法知識(shí)點(diǎn)
在本篇文章里小編給各位整理的是關(guān)于PHP 7.4 中數(shù)組延展操作符語(yǔ)法知識(shí)點(diǎn)內(nèi)容,需要的朋友們參考學(xué)習(xí)下。2019-07-07
PHPWind與Discuz截取字符函數(shù)substrs與cutstr性能比較
PHP性能優(yōu)化系列第四期實(shí)戰(zhàn)篇,如何使用PEAR Benchmark類工具獲取函數(shù)執(zhí)行性能,這里以PHPWind與Discuz!兩個(gè)社區(qū)論壇的截取字符函數(shù)substrs與cutstr為例,分析兩個(gè)函數(shù)的執(zhí)行性能情況2011-12-12
PHP正則匹配中英文、數(shù)字及下劃線的方法【用戶名驗(yàn)證】
這篇文章主要介紹了PHP正則匹配中英文、數(shù)字及下劃線的方法,可用于針對(duì)用戶名的驗(yàn)證操作,需要的朋友可以參考下2017-08-08
require(),include(),require_once()和include_once()的異同
require(),include(),require_once()和include_once()的異同...2007-01-01
解析posix與perl標(biāo)準(zhǔn)的正則表達(dá)式區(qū)別
本篇文章是對(duì)posix與perl標(biāo)準(zhǔn)的正則表達(dá)式區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

