この説明は、データベースから階層データ構造を取得し、それを多次元配列に変換することに焦点を当てています。単一のクエリ。目標は、データのツリー構造を表す配列を取得することです。
データベースからツリー構造を抽出するには、一般的にクロージャ テーブルが使用されます。クロージャ テーブルは、階層内の祖先と子孫の間の関係を記録し、子孫の効率的なクエリを可能にします。
ノードの主キーが与えられると、SQL を使用してその子孫をクエリできます。次の手順を使用します:
次に、SQL 結果は次の方法で処理されます。
PHP では、Zend Framework を使用して、次のコードでプロセスを示します。
// Get taxonomy table instance $tax = new Taxonomy(); // Fetch tree starting at Rodentia (id 180130) to a depth of 2 $tree = $tax->fetchTree(180130, 2); // Dump the array var_export($tree->toArrayDeep());
出力データのツリー構造を表す多次元配列です。
array ( 'tsn' => '180130', 'completename' => 'Rodentia', '_parent' => '179925', '_children' => [ // Child rows... ], )
以上がデータベースの結果を多次元配列に変換して、階層データ構造を表すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。