Ben herhangi bir sayıda öğe içerebilir bir dizi var. Her eleman bir kimlik ve (aynı zamanda elemanların herhangi bir sayı ile) "seçenekleri" adında bir dizi içerir. İşte yapıdır:
$arr = array(
array('id' => 10, 'options' => array(3, 5)),
array('id' => 15, 'options' => array(2, 4, 8, 9)),
array('id' => 20, 'options' => array(2, 6, 7)),
// ... any number of elements
);
Ben bu bir kapalı dayalı bir dizi oluşturmak istiyorum. Her anahtar kimliği alanı + bir 'seçenek' dizi değeri ve değer böylece bir sonraki elemanın bir dizi, ve sonra bir sonraki ve bir. Temelde dizi tanımlanmış olduğu için, bana (bir çeşit bir ağaç gibi) yukarıdaki dizilerin her kombinasyonu vermelidir:
$new = array(
'10-3' => array(
'15-2' => array('20-2', '20-6', '20-7'),
'15-4' => array('20-2', '20-6', '20-7'),
'15-8' => array('20-2', '20-6', '20-7'),
'15-9' => array('20-2', '20-6', '20-7')
),
'10-5' => array(
'15-2' => array('20-2', '20-6', '20-7'),
'15-4' => array('20-2', '20-6', '20-7'),
'15-8' => array('20-2', '20-6', '20-7'),
'15-9' => array('20-2', '20-6', '20-7')
)
);
Dizi elemanlarının herhangi bir sayı içerebilir, çünkü ben özyinelemeli fonksiyonun bazı tip dahil gerekir varsayarak yaşıyorum. Ben özyineleme çok deneyimim yok, bu benim için oldukça zor bir iştir.
Bu özyinelemeli işlevi bina başlatmak için nerede bazı öneriler alabilir miyim?