比如我有两个数组:$a=array(a=>15,e=>20);
$b=array(a=>0,b=>1,c=>2,d=>3);我要把$a的数组合并到$b中,同时替换键值相同的值,没有的键值则新添到$b中.输出结果为:
$b=array(a=>15,b=>1,c=>2,d=>3,e=>20);

解决方案 »

  1.   


    $a=array(a=>15,e=>20);
    $b=array(a=>0,b=>1,c=>2,d=>3);$c=$a+$b;
    print_R($c);
      

  2.   

    你这个数组 应该是 $a=array('a'=>15,'e'=>20);
    $b=array('a'=>0,'b'=>1,'c'=>2,'d'=>3);吧.
      

  3.   


    这个加出来,e是在a后面的,
    Array ( [a] => 15 [e] => 20 [b] => 1 [c] => 2 [d] => 3 ) 
    要怎么把新增的键值放在最后面?像这样
    Array ( [a] => 15 [b] => 1 [c] => 2 [d] => 3 [e] => 20 ) 
      

  4.   

    新增加的值放后面有什么实际意义吗?ksort($c);
      

  5.   

    没有,就是测试下,我是新手,呵呵
    用这个函数MS可以实现我要的效果:
    $c=array_merge($b,$a);
      

  6.   

    1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值