douyakao5308 2013-05-25 03:34
浏览 65
已采纳

PHP按特定顺序合并数组,而不是简单地附加它们

I have two arrays:

Array ( [0] => a [1] => b [2] => c [3] => d ) 
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

I want to merge them so they end up like this:

Array ( [0] => a [1] => 1 [2] => b [3] => 2 [4] => c [5] => 3 [6] => d [7] => 4 )

Something like array 1[1], array 2[1], array 1[2], array 2[2], etc.

It's probably simple but I can't find an answer anywhere!

  • 写回答

1条回答 默认 最新

  • dqu92800 2013-05-25 03:48
    关注

    You would have to use a loop as far as I know, based on the length of the longest array.

    // input arrays
    $array1 = array( 1, 2, 3, 4 );
    $array2 = array( 'a', 'b', 'c', 'd' );
    
    // output arrays
    $array3 = array();
    
    // get the longest for the loop
    $length = count($array1) > count($array2)? count($array1) : count($array2);
    
    // if there is an element set for the index append to the output array
    for ( $i=0; $i<$length; $i++ ){
        if ( isset($array1[$i]) ) $array3[] = $array1[$i];
        if ( isset($array2[$i]) ) $array3[] = $array2[$i];
    }
    
    print_r( $array3 );
    

    Results in:

    Array ( [0] => 1 [1] => a [2] => 2 [3] => b [4] => 3 [5] => c [6] => 4 [7] => d )
    

    Run in this PHP Fiddle.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输