两个数组
array(1,2,3,4)
array(5,6,7)
合并成array(1,5,2,6,3,7,4)

解决方案 »

  1.   


    $a = array(1,2,3,4);
    $b = array(5,6,7);
    $c = array_merage( $a ,$b);
    var_dump($c);
      

  2.   

    #1的merge单词拼错。
    $a = array(1,2,3,4);
    $b = array(5,6,7);
    $c = array_merge($a ,$b);
    var_dump($c);
    // $c = array(1,2,3,4,5,6,7);这种方法最简单数组可以合并,但出来结构的顺序是array(1,2,3,4,5,6,7)。
    如果LZ一定坚持要自己的顺序,恐怕只有老老实实自己组成数组了。
    $a = array(1,2,3,4);
    $b = array(5,6,7);
    $c = array($a[0],$b[0],$a[1],$b[1],$a[2],$b[2],$a[3]);
    var_dump($c);
    // $c = array(1,5,2,6,3,7,4);
      

  3.   

    <?
    $a = array(1,2,3,4);
    $b = array(5,6,7);
    $c = array_combine(array_slice($a,0,-1),$b);
    $d = array();
    foreach($c as $k=>$v){
    $d[] = $k;
    $d[] = $v;
    }
    $d[] = $a[count($a)-1];
    print_r($d);
    ?>
      

  4.   

    本帖最后由 xuzuning 于 2011-01-17 17:35:25 编辑
      

  5.   


    $a = array(1,2,3,4);
    $b = array(5,6,7);
    foreach($a as $i => $arr){
      if(isset($b[$i])){
        $out[] = $a[$i];
        $out[] = $b[$i];
      }else{
        $out[] = $a[$i];
      }
    }
    print_r($out);
    Array
    (
        [0] => 1
        [1] => 5
        [2] => 2
        [3] => 6
        [4] => 3
        [5] => 7
        [6] => 4
    )
      

  6.   

    还是建议使用PHP内置的专门用来处理数组合并的函数array_merge
    <?php
    $array1 = array("color" => "red", 2, 4);
    $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
    $result = array_merge($array1, $array2);
    print_r($result);
    ?> 
    如果需要按照不规则并且是自定义的顺序来的话,建议使用自定义函数来完成
      

  7.   

    楼主一定要给分啊!!!
    以下才是正解!
    public class AddArray{
    public static void main(String []args) {
    int [] arr1 = {1,2,3,4};
    int [] arr2 = {5,6,7};
    int [] newArray = addArray(arr1,arr2); 
    System.out.print("合并后的新数组 : ");
    for(int i=0;i<newArray.length;i++)
    {
    System.out.print(" ["+ newArray[i] + "] ");
    }
    }
    public static int [] addArray(int [] arr1, int [] arr2){
    int len = arr1.length + arr2.length;
    int [] newArray=new int[len];
    if(arr1.length>=1 && arr2.length>=1)
    {
    int temp=0;
    for(int  i=0;i<len;i++)
    {
    if(i<arr1.length)
    {
    newArray[temp]=arr1[i];
    temp++;
    }
    if(i<arr2.length)
    {
    newArray[temp]=arr2[i];
    temp++;
    }
    }
    }
    return newArray;
    }
    }
      

  8.   


    输出结果:C:\javatest>java AddArray
    合并后的新数组 :  [1]  [5]  [2]  [6]  [3]  [7]  [4]
    C:\javatest>
      

  9.   

    $a=array(1,2,3,4);
    $b=array(5,6,7);
    $c=array_map(null,$a,$b);
    $d=array();
    foreach($c as $v) $d=array_merge($d,$v);
    var_dump($d);
    注意:这里仅仅只是提供一个思路,因为两组数组个数不等,会有NULL值出现,简单处理+sort就能去除