PHP kullanıyorum ve bir dizi ile basit bir görevde yardıma ihtiyacım var.Çok boyutlu dizi oluşturma algoritması
Bu benim örnek dizidir:
$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'
);
dizinin anahtarları kimlikleri (benzersiz) temsil eder.
Değerler parentIDs, yani üst "düğüm" kimliğidir. NULL
, ebeveyn kimliği (yani yeni dizinin 1. boyutu) olmadığı anlamına gelir.
Şimdi, tüm alt öğeleri üst kimliklerinin altında olan yeni ve çok boyutlu bir dizi oluşturmam gerekiyor. (Muhtemelen betimleyici becerilerden yoksun olduğum için çok kafa karıştırıcı geliyor. Aşağıda bir örnek var, daha net bir şey yapmalıyız.)
Örneğimin yeni dizisi, "sıralama" işlevinden sonra nasıl görünecek? Bu çağrı, uygulandı:
$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() ) );
tüm boş dizi() ler muhtemelen çok temiz ve zarif bir çözüm değil ama ne yazık ki bu ben olmak gerekir yoldur biliyorum!
http://stackoverflow.com/questions/4196157/create-array-tree-from-array-list adresinin kopyası – stillstanding
Aslında sorunumdan biraz farklı, formatım farklı. – user367217