PHP 無限分類 (層深さあり) アルゴリズム_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:11:32
オリジナル
1097 人が閲覧しました

配列を使用して無限の分類を実現する PHP プログラムについては、ここではあまり説明せず、コードをコピーするだけにしてください。

コードは次のとおりです コードをコピー


$cates = array(
array(
'cid' => 1,
'cname' => 'News' ,
' pid' => 0
),

array(
'cid' => 2,
'cname' => '通知',
'pid' => 0
),

array (
' cid' => 3,
'cname' => '国内ニュース',
'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 元のデータ
* @param integer $pid 現在のカテゴリの親 ID
* @return array 処理されたデータ
*/
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 現在のカテゴリのID
* @param array $data 元のデータ
* @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; $row['level']; $i++){
echo "t";
}
>




http://www.bkjia.com/PHPjc/444626.html

www.bkjia.com

http://www.bkjia.com/PHPjc/444626.html技術記事配列を使用して無限の分類を実現する PHP プログラム。必要な方はここではあまり説明せず、コードをコピーするだけです。 コードは次のとおりです コードをコピーします ?php $cates = ar...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!