私はPHPを使用していますし、配列で一見簡単な作業で助けが必要です。多次元配列を作成するためのアルゴリズム
これは私の例の配列です:
$arr = array(
0 => NULL,
1 => NULL,
2 => NULL,
3 => NULL,
8 => '2',
9 => '2',
10 => '2',
11 => '2',
12 => '3',
13 => '3',
14 => '8',
15 => '8',
16 => '14',
17 => '14',
18 => '14'
);
配列のキーは、IDが(ユニーク)を表します。
値は親ID、つまり親「ノード」のIDです。 NULL
は、parentID(新しい配列の第1次元)が存在しないことを意味します。
ここで、すべての子要素が親IDの下にある新しい多次元配列を作成する必要があります。
私の例の新しい配列は、「並べ替え」機能の後にどのように見えるのでしょうか、それとも何かが何であるかは、ここでは分かりません。これを呼び出す、適用した:
$arr = array( 0 => array(), 1 => array(), 2 => array( 8 => array( 14 => array( 16 => array(), 17 => array(), 18 => array() ), 15 => array() ), 9 => array(), 10 => array(), 11 => array() ), 3 => array( 12 => array(), 13 => array() ) );
私はすべての空の配列()のは、おそらく非常にきれいでエレガントな解決策ではありませんが、残念ながら、これは私はそれがために必要な方法です知っています!
重複したhttp://stackoverflow.com/questions/4196157/create-array-tree-from-array-list – stillstanding
実際には私の問題とは少し異なりますが、私のフォーマットは異なります。 – user367217