PHP分类输出代码,PHP无限分类代码,支持数组格式化、直接输出菜单两种方式_php技巧...

\$spacer\$name"

* @param $sid 被选中的ID, 比如在做树形下拉框的时候需要用到

* @param $adds

* @param $str_group

*/

function get_tree($myid, $str, $sid = 0, $adds = '', $str_group = '')

{

$number=1;

$child = $this->get_child($myid);

if(is_array($child)) {

$total = count($child);

foreach($child as $id=>$a) {

$j=$k='';

if($number==$total) {

$j .= $this->icon[2];

} else {

$j .= $this->icon[1];

$k = $adds ? $this->icon[0] : '';

}

$spacer = $adds ? $adds.$j : '';

$selected = $id==$sid ? 'selected' : '';

@extract($a);

$parentid == 0 && $str_group ? eval("\$nstr = \"$str_group\";") : eval("\$nstr = \"$str\";");

$this->ret .= $nstr;

$this->get_tree($id, $str, $sid, $adds.$k.' ',$str_group);

$number++;

}

}

return $this->ret;

}

/**

* 同上一方法类似,但允许多选

*/

function get_tree_multi($myid, $str, $sid = 0, $adds = '')

{

$number=1;

$child = $this->get_child($myid);

if(is_array($child))

{

$total = count($child);

foreach($child as $id=>$a)

{

$j=$k='';

if($number==$total)

{

$j .= $this->icon[2];

}

else

{

$j .= $this->icon[1];

$k = $adds ? $this->icon[0] : '';

}

$spacer = $adds ? $adds.$j : '';

$selected = $this->have($sid,$id) ? 'selected' : '';

@extract($a);

eval("\$nstr = \"$str\";");

$this->ret .= $nstr;

$this->get_tree_multi($id, $str, $sid, $adds.$k.' ');

$number++;

}

}

return $this->ret;

}

function have($list,$item){

return(strpos(',,'.$list.',',','.$item.','));

}

/**

+------------------------------------------------

* 格式化数组

+------------------------------------------------

* @author yangyunzhou@foxmail.com

+------------------------------------------------

*/

function getArray($myid=0, $sid=0, $adds='')

{

$number=1;

$child = $this->get_child($myid);

if(is_array($child)) {

$total = count($child);

foreach($child as $id=>$a) {

$j=$k='';

if($number==$total) {

$j .= $this->icon[2];

} else {

$j .= $this->icon[1];

$k = $adds ? $this->icon[0] : '';

}

$spacer = $adds ? $adds.$j : '';

@extract($a);

$a['title'] = $spacer.' '.$a['title'];

$this->ret[$a['id']] = $a;

$fd = $adds.$k.' ';

$this->getArray($id, $sid, $fd);

$number++;

}

}

return $this->ret;

}

}

?>

相关标签:无限分类

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值