ホームページ >バックエンド開発 >PHPチュートリアル >多次元配列の再帰探索の問題について教えてください。

多次元配列の再帰探索の問題について教えてください。

WBOY
WBOYオリジナル
2016-06-13 12:42:09801ブラウズ

多次元配列の再帰探索問題について教えてください
無限分類のデータテーブルがあります
データテーブルを分類し、多次元配列を生成して保存しました
関数 getkind($id)
{
if(file_exists($_G['cache'].'kindcache.txt')) //カテゴリキャッシュが存在するかどうか
$str = unserialize(file_get_contents($_G['cache'].'kindcache.txt'));
それ以外
$str = $cache->outkindcache(0) // カテゴリキャッシュを生成します
$data=$this->getkindcache($id,$str) //配列を検索
$data を返す;
}

function getkindcache($id,$str,$data1=array())//再帰関数
{
グローバル $_G;
foreach($str as $k=>$v)
{
If($v['kind'] == $id)
{
$data1[] = $v;
}
if(is_array($v['child']))
$this->getkindcache($id,$v['child'],$data1);

}
return $data1;
}
上記の再帰関数は常に NULL を返し、返したいデータを保存できません

赤く囲ったデータが探したいデータです

配列
(
[0] => 配列
(
[uid] =>                                                                                                                                                                                                                                 ​ [top] => [Pagesize] => [name] => [sort] => [キーワード] = & gt; [説明] => [enable] => [html] => [outlink] => なぜなら [モデル名] = & GT モデル
[テンプレート] =&gt.html
[Templist] => [tempview] => [typedir] => http://localhost/2011-4-30/static/2

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。