0

假设我不想循环并构建一个新数组,那么 PHP 中是否有内置方法可以将两个数组添加在一起并在第一个数组的键之后推送第二个数组的所有键?我用谷歌搜索,找不到任何可以做到这一点的东西,但想知道是否有人知道

例如结合这些..

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

得到这个..

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

3 回答 3

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" )))

那肯定会奏效

于 2013-04-17T17:48:25.277 回答
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"
    }
*/
于 2013-04-17T17:50:09.357 回答
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
    )
    */
?>

参考

于 2013-04-17T17:52:16.250 回答