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.

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

报告相同问题?

悬赏问题

  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失