用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - php代码库

php无线分类 例子

2013-09-25 作者: 神马举报

[php]代码库

$yArr    = array(
    1 => array('id'=>'1','parentid'=>0,'name'=>'一级栏目一'),
    2 => array('id'=>'2','parentid'=>0,'name'=>'一级栏目二'),
    3 => array('id'=>'3','parentid'=>1,'name'=>'二级栏目一'),
    4 => array('id'=>'4','parentid'=>1,'name'=>'二级栏目二'),
    5 => array('id'=>'5','parentid'=>2,'name'=>'二级栏目三'),
    6 => array('id'=>'6','parentid'=>3,'name'=>'三级栏目一'),
    7 => array('id'=>'7','parentid'=>3,'name'=>'三级栏目二'),
    8 => array('id'=>'8','parentid'=>2,'name'=>'二级栏目三'),
);

/**
 * 获取当前id的子ID
 * @param array $data 原始数组
 * @param int $id 当前id
 * @param int $layer 当前层级
 */
function genCate($data, $pid = 0, $level = 0)
{
    if($level == 10) break;
    $l        = str_repeat("    ", $level);
    $l        = $l.'└';
    static $arrcat    = array();
    $arrcat    = empty($level) ? array() : $arrcat;
    foreach($data as $k => $row)
    {
        /**
         * 如果父ID为当前传入的id
         */
        if($row['parentid'] == $pid)
        {
            //如果当前遍历的id不为空
            $row['name']    = $l.$row['name'];
            $row['level']    = $level;
            $arrcat[]    = $row;
            //var_array($arr);
            genCate($data, $psiff, $row['id'], $level+1);//递归调用
        }
    }
    return $arrcat;
}

$carr    = genCate($yArr);
echo "<select>";
foreach($carr as $row)
{
    echo "<option value={$row['id']}>";
    echo $row['name'];
    echo "</option>";
}
echo "</select>";


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...