PHPで2つの配列を結合する

私はAPIを扱っているので、月単位でデータにアクセスできます。場合によっては、データが2ヶ月間にわたって保存されていることもありますが、それを確認する簡単なテストはありません。

私はすでに必要なデータを見つけるために結果データをループしています。私は、APIを2ヶ月間、2ヶ月間、そして1ヶ月間、もう1ヶ月間だけ呼び出すことができます。

私は2つの配列を一緒に結合する方法を理解しようとしています。 Heresの例、私は持っている:

firstMonth = array(0 => object0, 1 => object1, 2 => object2)
secondMonth = array(0 => object3, 1 => object4, 2 => object5)

私は1つの配列を持つようにそれらに参加する必要があります:

bothMonths = array(0 => object 0, 1 => object1, 2 => object2, 3 => object3, 4 => object4, 5 => object5)

だから、私は2つの配列にどのように参加できますか?

0
@BookOfZeus:これは助けにならない、あなたはarray_mergeを意味すると思う
追加された 著者 greg0ire,
そうそう!私は質問を間違えた!
追加された 著者 Book Of Zeus,

4 答え

array_merge() を使用して、この。インデックスが異なる場合は+を使用します。

3
追加された

PHPの array_merge 関数を使用する:

 $bothMonths = array_merge($firstMonth, $secondMonth);
2
追加された
インデックスのためにこれは機能しません。 -1
追加された 著者 greg0ire,
よくわかりません。あなたが上に述べたこととまったく同じではありません。
追加された 著者 MrGlass,
それは今です。投稿が編集される前に、配列連合の使用を提案しました。
追加された 著者 adlawson,

array_merge();

入力配列に同じ文字列キーがある場合、そのキーの後の値は前の値を上書きします。ただし、配列に数値キーが含まれている場合、後の値は元の値を上書きしませんが、追加されます。

2
追加された

これを試して:

function zip() {
    $args = func_get_args();
    $zipped = array();
    $n = count($args);
    for ($i=0; $i<$n; ++$i) {
        reset($args[$i]);
    }
    while ($n) {
        $tmp = array();
        for ($i=0; $i<$n; ++$i) {
            if (key($args[$i]) === null) {
                break 2;
            }
            $tmp[] = current($args[$i]);
            next($args[$i]);
        }
        $zipped[] = $tmp;
    }
    return $zipped;
}

$bothMonths = zip($firstMonth, $secondMonth);

print_r($bothMonths);

ruby/python/haskell/... zip関数に似ています。これはあなたが望むものです

0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com