0

以下は私の配列がどのように見えるかの例です。タイトル、投票、評価の両方を1行で出力できるようにそれらを組み合わせてほしいです。

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つのプロパティグループのうちの1つしか持てないため、値の出力方法を変更しました。

更新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 に答える