在foreach循环中输出2个对象数组

时间:2012-09-29 18:40:32

标签: php arrays object joomla foreach

下面是我的阵列看起来如何看的例子,我希望它们结合在一起,所以我可以在一行中输出标题,投票和评级。

foreach ($items->items as $item) {
echo $item->title;

foreach ($results->resx as $res) {
echo $res->votes;
echo $res->ratings;
}

我想拥有这个,但我知道这是不对的。

foreach ($items as $item) ($results as $res) {
echo $res->votes;
echo $res->ratings;
echo $item->title;
}

1 个答案:

答案 0 :(得分:2)

您可以使用array_merge(),例如:

foreach (array_merge($results, $items) as $item) {
   echo isset($item->title) ? $item->title : $item->votes .'<br>'. $item->ratings;
}

<强>更新
更改了如何打印值,因为合并数组中的对象只能拥有两组属性中的一个。

更新2
在一些OP的说明更清楚地表明了他的情况之后,现在假设$results$items数组具有相同数量的元素,更新解决方案如下:

while ((list(, $it) = each($items)) && (list(, $rs) = each($results))) {
    echo $it->title;
    echo $rs->votes;
    echo $rs->ratings . '<br>';
}