将数组包含在另一个数组中

3

想知道如何将一个数组的值添加到另一个数组中,避免一遍又一遍地手动输入同样的值:

$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()而不仅仅是值。

4个回答

3

最快的方法就是像下面这样使用单个数组:

$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。 - Rikesh

3
<?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


是的!我知道有些东西非常简单,但我却忽略了它! - markb
如果您只是将数组复制到一个新变量中,并使用[]为其分配一个新值,那么速度会更快,就像@Rikesh在他的原始答案中提到的一样(哈哈)。 - nice ass
我同意@OneTrickPony的观点,认为Rikesh的方法会更快,但是这个答案是目前最全面和最好的原始答案。这是我的推理。 - markb

0

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

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

0
使用array_merge()函数。
$array_1 = array_merge($array_main, array('[5]' => '5'));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接