- <?php
- $cates = array(
- array(
- 'cid' => 1,
- 'cname' => '新聞',
- 'pid' => 0
- ),
- array(
- 'cid' => 2,
- 'cname' => '通知',
- 'pid' => 0
- ),
- array(
- 'cid' => 3,
- 'cname' => '國內(nèi)新聞',
- 'pid' => 1
- ),
- array(
- 'cid' => 4,
- 'cname' => '國際新聞',
- 'pid' => 1
- ),
- array(
- 'cid' => 5,
- 'cname' => '北京新聞',
- 'pid' => 3
- ),
- array(
- 'cid' => 6,
- 'cname' => '上海新聞',
- 'pid' => 3
- ),
- array(
- 'cid' => 7,
- 'cname' => '緊急通知',
- 'pid' => 2
- ),
- array(
- 'cid' => 8,
- 'cname' => '一般通知',
- 'pid' => 2
- ),
- );
- /**
- * 生成菜單
- *
- * @param array $data 原始數(shù)據(jù)
- * @param integer $pid 當(dāng)前分類的父id
- * @return array 處理后數(shù)據(jù)
- */
- function createMenuTree($data = array(), $pid = 0)
- {
- if (empty($data))
- {
- return array();
- }
- static $level = 0;
- $returnArray = array();
- foreach ($data as $node)
- {
- if ($node['pid'] == $pid)
- {
- $returnArray[] = array(
- 'cid' => $node['cid'],
- 'cname' => $node['cname'],
- 'level' => $level
- );
- if (hasChild($node['cid'], $data))
- {
- $level++;
- $returnArray = array_merge($returnArray, createMenuTree($data, $node['cid']));
- $level--;
- }
- }
- }
- return $returnArray;
- }
- /**
- * 檢查是否有子分類
- *
- * @param integer $cid 當(dāng)前分類的id
- * @param array $data 原始數(shù)據(jù)
- * @return boolean 是否有子分類
- */
- function hasChild($cid, $data)
- {
- $hasChild = false;
- foreach ($data as $node)
- {
- if ($node['pid'] == $cid)
- {
- $hasChild = true;
- break;
- }
- }
- return $hasChild;
- }
- header('Content-Type: text/html; charset=utf-8');
- $result = createMenuTree($cates);
- foreach ($result as $row)
- {
- for ($i = 0; $i < $row['level']; $i++)
- {
- echo "t";
- }
- echo $row['cname'] . "n";
- }
- ?>
標(biāo)題名稱:使用數(shù)組實(shí)現(xiàn)PHP無限級分類
本文路徑:http://www.rwnh.cn/article36/pgsdsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、外貿(mào)建站、網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、營銷型網(wǎng)站建設(shè)、網(wǎng)站維護(hù)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)