• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のforeachをまとめるには)

複数のforeachをまとめるには

このQ&Aのポイント
  • 複数のforeachをまとめるにはarray_mergeを使用しますが、エラーが発生しています。
  • 複数のforeachをまとめる方法について、回答を見ても分からない状況です。
  • 最終的にはDBにデータを入れたいと考えていますが、まずはforeachをまとめる方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

そもそも$xmlData->Itemは(Objectであって)配列ではありませんよね?foreachが配列以外も扱えるからといって、配列関数でも(配列ではないObjectが)扱えるというわけではありません。 $arr1 = array(); $arr2 = array(); としておいて、 foreach ($xmlData->Item as $itemValue) { $arr1[] = $itemValue; } foreach ($xmlData2->Item as $itemValue) { $arr2[] = $itemValue; } foreach ($arr1 as $key=>$itemValue1) { $itemValue2 = $arr2[$key]; // $itemValue1 と $itemValue2 を使って処理 } などとした方が手っ取り早いと思います。

ospsp
質問者

お礼

すごい!バッチリでした! もし今後Objectが増えてしまった場合は $arr1 = array(); $arr2 = array(); $arr3 = array(); $arr4 = array(); foreach ($xmlData->Item as $itemValue) { $arr1[] = $itemValue; } foreach ($xmlData2->Item as $itemValue) { $arr2[] = $itemValue; } foreach ($xmlData3->Item as $itemValue) { $arr3[] = $itemValue; } foreach ($xmlData4->Item as $itemValue) { $arr4[] = $itemValue; } foreach ($arr1 as $key=>$itemValue1) { $itemValue2 = $arr2[$key]; $itemValue3 = $arr3[$key]; $itemValue4 = $arr4[$key]; } これで大丈夫という理解であってますでしょうか? たびたびで申し訳ありませんがよろしくお願いいたします。

ospsp
質問者

補足

再度質問してしまいましたが、これぐらい自分で確かめるべきですね・・・ すいませんでした。 どうもありがとうございました。 とても参考になりました。

関連するQ&A