无限级分类中的一个问题 [ 2.0 版本 ]
<?php
$cate = array(
0 => array('id' => 1, 'pid' => 0, 'name' => '江西省'),
1 => array('id' => 2, 'pid' => 0, 'name' => '浙江省'),
2 => array('id' => 3, 'pid' => 1, 'name' => '上饶市'),
3 => array('id' => 4, 'pid' => 3, 'name' => '广丰县'),
4 => array('id' => 5, 'pid' => 2, 'name' => '杭州市'),
5 => array('id' => 6, 'pid' => 5, 'name' => '西湖'),
6 => array('id' => 7, 'pid' => 6, 'name' => '断桥'),
);
function getLevel ($cate,$pid,$id,$i =1) {
foreach ($cate as $v) {
if ($v['pid'] == $pid) {
if($v['id']==$id){
return $i;
}
getLevel ($cate,$v['id'],$id,$i+1);
}
}
}
$L=getLevel ($cate,2,5); //等1
$L=getLevel ($cate,2,7); //这里为什么为空?
?>
okokad 补充于 2016-12-12 16:11
function getLevel($cate, $pid=2,$id=7,$i=1){
foreach($cate as $v){
if ($v['id'] == $id) {
if ($v['pid'] != $pid) {
$i = getLevel($cate, $pid=2,$v['pid'],$i+1);
}
}
}
return $i;
}
最佳答案
其他 0 个回答
没有找到数据。
okokad
注册时间:2016-02-29
最后登录:2017-07-01
在线时长:49小时26分
最后登录:2017-07-01
在线时长:49小时26分
- 粉丝12
- 金钱25
- 威望80
- 积分1315