PHP foreach循环多个对象?

时间:2009-07-27 03:19:31

标签: php codeigniter

我正在使用PHP / codeigniter,并且通常循环查询结果我会做这样的事情:

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

但是,假设我有另一个对象数组$data2,其对象数量与$data相同:是否有任何有效的PHP语法可以让我同时访问rows使用foreach语句在同一循环中的两个对象?我知道我可以通过访问数组的indeces来定期for循环,但这不会那么干净。

2 个答案:

答案 0 :(得分:4)

你可以这样:

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

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

答案 1 :(得分:1)

我认为指数是你最好的选择。这将是一个奇怪的语言功能,因为通常你不知道两个数组具有相同的大小,当你在另一个数组之前用完时你会做什么?

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