PHP将所有数组元素组合在一起

时间:2013-04-17 17:46:49

标签: php arrays

假设我不想循环并构建一个新的数组,PHP中是否有一种内置方式可以将两个数组一起添加到第二个数组后从第二个数组中推出所有键首先?我用Google搜索,找不到任何确实如此的内容,但想知道是否有人知道

例如将这些结合起来..

array( 0 => "a", 1 => "b" );
array ( 0 => "c", 1 => "d" );

得到这个..

array( 0 => "a", 1 => "b", 2 => "c", 3 => "d" );

3 个答案:

答案 0 :(得分:4)

此:

array_merge(array( 0 => "a", 1 => "b" ),array ( 0 => "c", 1 => "d" ));

或者

array( 0 => "a", 1 => "b" ) + array ( 0 => "c", 1 => "d" )

第一个会覆盖重复的密钥,第二个不会。你可能不得不对数组进行排序。

或者,你可以这样做:

array_merge(array_values(array( 0 => "a", 1 => "b" )), array_values(array ( 0 => "c", 1 => "d" )))

这肯定有效

答案 1 :(得分:1)

看看array_merge

<?php
$ab = array('a', 'b');
$cd = array('c', 'd');

var_dump(
    array_merge($ab, $cd)
);

/*
    array(4) {
      [0]=>
      string(1) "a"
      [1]=>
      string(1) "b"
      [2]=>
      string(1) "c"
      [3]=>
      string(1) "d"
    }
*/

答案 2 :(得分:0)

您也可以尝试:

<?php
    $array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
    $array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
    $result = array_merge($array1, $array2);

    print_r($result);

    /*
    Array
    (
        [0] => zero_a
        [1] => two_a
        [2] => three_a
        [3] => one_b
        [4] => three_b
        [5] => four_b
    )
    */
?>

Reference