ホームページ > バックエンド開発 > PHPチュートリアル > 再帰なしで多次元配列を走査する方法 (次元数は可変)

再帰なしで多次元配列を走査する方法 (次元数は可変)

WBOY
リリース: 2016-06-13 12:24:17
オリジナル
1162 人が閲覧しました

再帰なしで多次元配列を走査する方法 (可変次元)
既存の配列

<br />$tree = array (<br />		array (<br />				'ID' => 1,<br />				'PARENT' => 0,<br />				'NAME' => '祖父',<br />				'CHILD' => array (<br />						array (<br />								'ID' => 3,<br />								'PARENT' => 1,<br />								'NAME' => '叔伯' <br />						),<br />						array (<br />								'ID' => 4,<br />								'PARENT' => 1,<br />								'NAME' => '父亲',<br />								'CHILD' => array (<br />										array (<br />												'ID' => 5,<br />												'PARENT' => 4,<br />												'NAME' => '儿子' <br />										) <br />								) <br />						) <br />				)<br />				 <br />		),		<br />		array (<br />				'ID' => 2,<br />				'PARENT' => 0,<br />				'NAME' => '祖母' <br />		) <br />);<br />
ログイン後にコピー

効果を実現するための HTML コード
<br /><ul><br />	<li>祖父<br />		<ul><br />			<li>叔伯</li><br />			<li>父亲<br />				<ul><br />					<li>儿子</li><br />				</ul><br />			</li><br />		</ul><br />	</li><br />	<li>祖母</li><br /></ul><br />
ログイン後にコピー

具体的な内容はわかりませんデータベースから取得した情報に基づいて取得される多次元配列の次元。

この効果は再帰を使用せずに達成できますか?
-----解決策のアイデア--------------------- -
あなたは再帰的にここに来ました、もちろん再帰的にそこに行くべきです
$tree = array (<br />        array (<br />                'ID' => 1,<br />                'PARENT' => 0,<br />                'NAME' => '祖父',<br />                'CHILD' => array (<br />                        array (<br />                                'ID' => 3,<br />                                'PARENT' => 1,<br />                                'NAME' => '叔伯' <br />                        ),<br />                        array (<br />                                'ID' => 4,<br />                                'PARENT' => 1,<br />                                'NAME' => '父亲',<br />                                'CHILD' => array (<br />                                        array (<br />                                                'ID' => 5,<br />                                                'PARENT' => 4,<br />                                                'NAME' => '儿子' <br />                                        ) <br />                                ) <br />                        ) <br />                )<br />                  <br />        ),       <br />        array (<br />                'ID' => 2,<br />                'PARENT' => 0,<br />                'NAME' => '祖母' <br />        ) <br />);<br />function 递归($ar, $deep=0) {<br />  echo str_repeat("\t", $deep) . "<ul>\n";<br />  foreach($ar as $item) {<br />    echo str_repeat("\t", $deep + 1) . "<li>$item[NAME]";<br />    if(isset($item['CHILD'])) {<br />      echo "\n";<br />      递归($item['CHILD'], $deep+2);<br />    }<br />    echo "</li>\n";<br />  }<br />  echo str_repeat("\t", $deep) . "</ul>\n";<br />}<br />递归($tree);<br /><br />
ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート