0

PHPに2つの配列があり、どちらも日付値が7日です。それぞれ同じです。配列の残りの内容は異なります。彼らは少しこのように見えます:

アレイ#1:

 [0]
    [date] => 2012-05-01
    [value 1] => 3

アレイ#2:

 [0]
    [date] => 2012-05-01
    [value 2] => 3

これを取得するためにそれらをマージしたいと思います:

 [0]
    [date] => 2012-05-01
    [value 1] => 3
    [value 2] => 3

現在、私はこのスロップを使用しています:

$i = 0;
$full_array = array();
foreach ($array_1 as $a) {
    foreach ($array_2 as $b) {
        if ($a['date'] == $b['date']) {
            $full_array[$i] = $a;
            $full_array[$i] += $b;
            $i++;
        }
    }
}

その男を関数に変えることはできますが、その前に、もっと良い方法があるかどうかを確認したいと思いました。ありがとう!

4

1 に答える 1

2

コメントで述べたように、これに使用できますarray_merge()。ただし、外部配列を機能させるためにループを作成します。これは、forループを使用して行う方がよいため、両方を同時に参照します。

for ($i = 0, $len = count($array_1), $full_array = array(); $i < $len; $i++) {
  $full_array[$i] = array_merge($array_1[$i], $array_2[$i]);
}
于 2012-06-08T22:09:10.790 に答える