2009-07-27 61 views
1

我使用PHP /笨,通常遍历查询结果,我会做这样的事情:对多个对象进行PHP foreach循环?

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

但是,说我有另一个对象数组,$data2,与相同数量的对象为$data:是否有任何有效的PHP语法,允许我使用foreach声明在同一循环内的两个对象上同时访问rows?我知道我可以通过访问数组的independ来使用常规的for循环来做到这一点,但这不会那么干净。

回答

4

你可以以这样的事:

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

这将有效地使您能够循环在同一时间两个数组。

+1

谢谢!正是我需要的 – oym 2009-07-27 03:37:59

1

我认为指数是你最好的选择。这将是一种奇怪的语言功能,因为一般而言,您不知道两个阵列具有相同的大小,当一个阵列先于另一个阵列耗尽时,您会做什么?

也许你可以重构代码,而不是$ data和$ other数组,你有一个单一数组,其条目是具有 - > data和 - >其他成员的关联数组。但是,只有在数据模型中有意义时才应该这样做。恕我直言,在这种情况下循环索引是好的。