0

下面是我的数组看起来如何的示例,我希望它们结合起来,这样我就可以在一行中输出标题、投票和评分。

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;
}
4

1 回答 1

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>';
}
于 2012-09-29T18:45:17.067 回答