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

Posted

技术标签:

【中文标题】在另一个数组中包含一个数组【英文标题】: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() 而不仅仅是值..

【问题讨论】:

【参考方案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'));

【讨论】:

以上是关于在另一个数组中包含一个数组的主要内容,如果未能解决你的问题,请参考以下文章

NSPredicate 按数组中包含的第一个字母过滤

Mongodb数组查询:查找数组中包含局外人的记录[重复]

JavaScript数组中包含数组如何去重?

从数组中包含的行索引中选择矩阵的列[重复]

如何找到 JavaScript 数组中包含的最大数?

右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。