ホームページ >バックエンド開発 >PHPチュートリアル >多次元配列の再帰探索の問題について教えてください。
多次元配列の再帰探索問題について教えてください
無限分類のデータテーブルがあります
データテーブルを分類し、多次元配列を生成して保存しました
関数 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