【问题标题】:Include an array in another array在另一个数组中包含一个数组
【发布时间】:2013-05-06 15:14:40
【问题描述】:

想知道如何将一个数组的值添加到另一个数组中,以免我一遍又一遍地输入一个数组的值:

$array_main = array(
    '[1]' => '1',
    '[2]' => '2',
    '[3]' => '3',
    '[4]' => '4'
);

$array_1 = array( $array_main, '[5]' => '5' );

由此推断:

$array_1 = array(
    array(
        '[1]' => '1',
        '[2]' => '2',
        '[3]' => '3',
        '[4]' => '4'
    ),
    '[5]' => '5'
);

但我想要:

$array_1 = array(
    '[1]' => '1',
    '[2]' => '2',
    '[3]' => '3',
    '[4]' => '4',
    '[5]' => '5'
);

那么有什么东西可以把数组变成字符串吗?我试过implodearray_shift 但我需要整个array() 而不仅仅是值..

【问题讨论】:

    标签: php arrays variables


    【解决方案1】:
    <?php
    $array1 = array("color" => "red", 2, 4);
    $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
    $result = array_merge($array1, $array2);
    print_r($result);
    ?>
    
    The above example will output:
    
    Array
    (
        [color] => green
        [0] => 2
        [1] => 4
        [2] => a
        [3] => b
        [shape] => trapezoid
        [4] => 4
    )
    

    http://php.net/manual/en/function.array-merge.php

    【讨论】:

    • 是的!知道有这么简单的事情我忽略了!
    • 如果您只是将数组复制到一个新变量中,并使用@Rikesh 提到的[] 为其分配一个新值(在他的原始答案中哈哈)
    • 我同意@OneTrickPony 的观点,即 Rikesh 的方法会更快,但这个答案是最全面的(目前可用的)并且最初的答案是最好的。这是我的推理。
    【解决方案2】:

    最快的方法是使用单个数组,如下所示,

    $array_main = array(
        '[1]' => '1',
        '[2]' => '2',
        '[3]' => '3',
        '[4]' => '4'
    );
    $array1 = $array_main;
    $array1['[5]'] = '5';
    

    虽然如果对新阵列的具体要求使用array_merge

    $array1 = array_merge($array_main,array('[5]' => '5'));
    

    【讨论】:

    • 谢谢!! @one Trick Pony。
    【解决方案3】:

    您可以使用合并数组(不只是想添加一个额外的值)来合并两个数组:

    <?php
        $array1 = array("0" => "0", "1" => "1");
        $array2 = array("a" => "a", "b" => "b");
        print_r( array_merge($array1, $array2 );
    ?>
    

    打印:

    Array
    (
        [0] => 0
        [1] => 1
        [a] => a
        [b] => b
    )
    

    【讨论】:

      【解决方案4】:

      使用array_merge()

      $array_1 = array_merge($array_main, array('[5]' => '5'));
      

      【讨论】:

        猜你喜欢
        • 2015-10-28
        • 2020-08-23
        • 1970-01-01
        • 1970-01-01
        • 2017-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多