11

コードに示すように、phpに2つの配列があります

<?php
$a=array('0'=>array('500'=>'1','502'=>'2'));
$b=array('0'=>array('503'=>'3','504'=>'5'));
print_r(array_merge($a[0],$b[0]));
?>

2 つの配列をマージする必要があります。array_merge 関数はそれらのうちの 2 つを正常にマージしましたが、キー値が変更されました。次の出力が必要です

  Array
    (
        [0]=>Array(
           [500] => 1
           [502] => 2
           [503] => 3
           [504] => 5
         )
    )

キー値を変更せずに次の出力を取得するには、php でどの関数を使用できますか?

4

5 に答える 5

21

ドキュメントから、例 #3:

最初の配列の要素を上書きせず、インデックスを再作成せずに、2 番目の配列の配列要素を最初の配列に追加する場合は、+ 配列結合演算子を使用します。

<?php
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
var_dump($result);
?>

最初の配列のキーは保持されます。配列キーが両方の配列に存在する場合、最初の配列の要素が使用され、2 番目の配列の一致するキーの要素は無視されます。

array(5) {
  [0]=>
  string(6) "zero_a"
  [2]=>
  string(5) "two_a"
  [3]=>
  string(7) "three_a"
  [1]=>
  string(5) "one_b"
  [4]=>
  string(6) "four_b"
}

したがって、試してください:$a[0] + $b[0]

于 2013-09-09T08:19:31.063 に答える
0
Just write :  
   <?php
    $a = array(2=>'green', 4=>'red', 7=>'yellow',3=>'Green');
    $b = array(8=>'avocado');
    $d = $a+$b;

    echo'<pre>'; print_r($d);

    ?>

出力:

Array
(
    [2] => green
    [4] => red
    [7] => yellow
    [3] => Green
    [8] => avocado
)
于 2016-08-30T10:26:38.063 に答える
0

試す:

$final  = array();
$a=array('0'=>array('500'=>'1','502'=>'2'));
$b=array('0'=>array('503'=>'3','504'=>'5'));
foreach( $a as $key=>$each ){
    $final[$key]    = $each;
}
foreach( $b as $key=>$each ){
    $final[$key]    = $each;
}

print_r( $final );
于 2013-09-09T08:20:03.033 に答える
0
$a=array('0'=>array('500'=>'1','502'=>'2'));
        $b=array('0'=>array('503'=>'3','504'=>'5'));
        $c = $a[0] + $b[0];
        print_r($c);

印刷します:

Array ( [500] => 1 [502] => 2 [503] => 3 [504] => 5 )
于 2013-09-09T08:21:35.680 に答える