Bu dizi var2d dizideki tüm olasılıklar
1!a
1!b
1!c
1!d
[email protected]
[email protected]
[email protected]
[email protected]
2!a
2!b
2!c
2!d
[email protected]
[email protected]
...
Şu anda bu kodu yaşıyorum:
for($i = 0; $i < count($array[0]); $i++)
{
for($j = 0; $j < count($array[1]); $j++)
{
for($k = 0; $k < count($array[2]); $k++)
{
echo $array[0][$i].$array[1][$j].$array[2][$k].'<br/>';
}
}
}
o inşaat, ama çirkin olduğunu düşünüyorum ve ben daha diziler ekliyorum, ben daha eklemek zorunda. Bunu yinelemeli olarak yapmanın bir yolu olduğundan eminim, ama nasıl başlayacağımı/nasıl yapacağımı bilmiyorum. Küçük bir yardım güzel olabilir!
Teşekkürler! Yeni bir dizideki tüm kombinasyonuna sahip olmak istiyorsanız işlevini genişletmek, daha doğrusu daha sonra bunları yazdırmak için,
combination($array);
: Sonra
function combination($array, $str = '') {
$current = array_shift($array);
if(count($array) > 0) {
foreach($current as $element) {
combination($array, $str.$element);
}
}
else{
foreach($current as $element) {
echo $str.$element . PHP_EOL;
}
}
}
:
Bu nasıl PHP 5'de kırılmaz? Demek istediğim, işe yarıyor ... ama neden? Diziler ve nesneler hakkında her zaman şimdi referans olarak geçilen şeyler hakkında bir şeyler okuduğumu hatırlıyorum sanıyordum ... Bu $ dizi mangled anlamına gelmez mi? – cHao
@cHao: Diziler referans olarak geçmedi. Bu yüzden, ikinci örnekte "$ result" dizisini açık bir şekilde iletmek için '&' kullanıyorum. –