ホームページ > バックエンド開発 > PHPチュートリアル > ツリーデータを読み取る方法とソリューション

ツリーデータを読み取る方法とソリューション

WBOY
リリース: 2016-06-13 12:03:23
オリジナル
947 人が閲覧しました

ツリー状のデータを読み取る方法
ツリー状のデータを読み取る方法
一般に、「隣接リスト アルゴリズム」によって整理されたデータを読み取る場合、再帰を使用してレイヤーごとに読み取る
か、データを読み取る必要があります配列に変換し、再帰的または非再帰的メソッドを使用して処理します
読み取り中に「ツリー状の」配列を生成するメソッドを紹介します。お役に立てば幸いです

mysql_connect();<br /><br />//测试数据<br />$sql =<<< SQL<br />select * from (<br />  select '1' as id, '0' as pid, 'Food' as title<br />  union all select '2', '1', 'Fruit'<br />  union all select '3', '2', 'Red'<br />  union all select '4', '3', 'Cherry'<br />  union all select '5', '2', 'Yellow'<br />  union all select '6', '5', 'Banana'<br />  union all select '7', '1', 'Meat'<br />  union all select '8', '7', 'Beef'<br />  union all select '9', '7', 'Pork'<br />  ) t<br />  order by pid, id<br />SQL;<br /><br />$rs = mysql_query($sql);<br /><br />$res = array(); //结果数组<br />$ind = array(); //索引数组<br />while($row = mysql_fetch_assoc($rs)) {<br />  list($id, $pid) = array_values($row); <br />  $ind[$id] = $row;<br />  if(isset($ind[$pid])) $ind[$pid]['child'][$id] =& $ind[$id]; //构造索引<br />  if($pid == 0) $res[$id] =& $ind[$id]; //转存根节点组<br />}<br /><br />echo '<xmp>' . print_r($res, 1);<br />
ログイン後にコピー
Array(
[1] = & gt; 配列
(
[ID] = & gt; 1
[pid] = & gt; 0
[タイトル] = & gt; 食べ物
[子] = & gt; 配列
(
[id] => 2
[pid] => 1
[タイトル] => [3] =&gt;                                                        (

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