只能
$dis3 = array_merge($dis1,$dis2);
得到
array (
  'f' => 
  array (
    0 => 1,
    1 => 2,
  ),
  'h' => 
  array (
    0 => 1,
    1 => 2,
  ),
  'd' => 
  array (
    0 => 1,
    1 => 2,
  ),
  'w' => 
  array (
    0 => 3,
    1 => 2,
  ),
  0 => 
  array (
    0 => 4,
    1 => 2,
  ),
  1 => 
  array (
    0 => 5,
    1 => 2,
  ),
)不明白
"d"=>array(1,2)
依据什么,会变成
"d"=>array(1,2,5,2)

解决方案 »

  1.   

    嗯,明白了。是是按对应的位置相接
    foreach($dis1 as $k=>$v)
      $dis3[$k] = array_merge($v, array_shift($dis2));
    var_export ($dis3);array (
      'f' => 
      array (
        0 => 1,
        1 => 2,
        2 => 3,
        3 => 2,
      ),
      'h' => 
      array (
        0 => 1,
        1 => 2,
        2 => 4,
        3 => 2,
      ),
      'd' => 
      array (
        0 => 1,
        1 => 2,
        2 => 5,
        3 => 2,
      ),
    )
      

  2.   

    应该是用双foreach($dis1 as $er)
                { $dis3[]=$er;}
              foreach($dis2 as $er)
                {$dis3[]=$er;}