在另一个数组中包含一个数组
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'
);
那么有什么东西可以把数组变成字符串吗?我试过implode
和array_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'));
【讨论】:
以上是关于在另一个数组中包含一个数组的主要内容,如果未能解决你的问题,请参考以下文章