Birden çok nesne üzerinde PHP foreach loop?

2 Cevap php

PHP / CodeIgniter kullanıyorum ve genellikle sorgu sonuçları üzerinde döngü böyle bir şey yapardı:

<?php foreach($data as $row):?>
//html goes here
<?php endforeach;?>

Ama $data gibi nesnelerin aynı sayıda başka nesne dizisi, $data2, var diyelim: me {[(2) erişimine aynı anda izin verecek herhangi bir geçerli PHP sözdizimi var ]} foreach deyimini kullanarak aynı döngü içinde hem de nesneler üzerinde? Ben dizilerin indeksleri erişerek normal for döngü ile bu yapabileceğini biliyorum, ama bu kadar temiz olmaz.

2 Cevap

Böyle bir şey olabilir:

<?php foreach($data as $key => $row): $row2 = $data2[$key]; ?>
//html goes here
<?php endforeach;?>

Etkili, aynı zamanda döngü hem diziler size sağlayacak olan.

Ben endeksleri en iyi bahis olduğunu düşünüyorum. Genel olarak iki dizileri aynı boyutta ve bir diğer önce biterse ne yaparsınız bilmiyorum, çünkü bu garip dil ​​özellik olacaktır?

Belki kod refactor olabilir $ yerine veri ve $ diğer dizi, kimin kayıtları bir ile bir ilişkisel dizi vardı tek bir dizi vardı böyle -> veri ve -> diğer üyeleri. Bu veri modeli mantıklı Ama sadece yapılmalıdır. IMHO, bu durumda endeks üzerinde döngü gayet iyi.