如何合并2个数组到$array3
合并阵列,而不会产生密钥
$array1 = array('first', 'second');
$array2 = array('third', 'fourth');
$array3 = array('first', 'second', 'third', 'fourth');
所有功能我发现添加把它变成一个关联数组[0] =>“第一”密钥。我不想要这个。我希望它保持为仅字符串数组。
如何合并2个数组到$array3
合并阵列,而不会产生密钥
$array1 = array('first', 'second');
$array2 = array('third', 'fourth');
$array3 = array('first', 'second', 'third', 'fourth');
所有功能我发现添加把它变成一个关联数组[0] =>“第一”密钥。我不想要这个。我希望它保持为仅字符串数组。
阵列做总是有一个索引/键但它们可使用时可以省略array()
language constructor:
如果没有为值指定的密钥,最大的整数索引的取和的新的密钥将是值加1
所以array('first', 'second', 'third', 'fourth')
相同array(0 => 'first', 1 => 'second', 2 => 'third', 3 => 'fourth')
:
$a = array('first', 'second', 'third', 'fourth');
$b = array(0 => 'first', 1 => 'second', 2 => 'third', 3 => 'fourth');
var_dump($a === $b); // bool(true)
var_dump(var_export($a, true) === var_export($b, true)); // bool(true)
所以只需使用array_merge
:
$array3 = array_merge($array1, $array2);
$array3 = array_merge($array1, $array2);
的[0],[1]等的键是您的数组的缺省项 - 每一个阵列具有它们。
你总是有你的元素的钥匙。试试这个:
print_r($array1);
你会看到[0] =>“第一”
这不是跟你使用合并功能的一个问题 - 键简单始终存在。 Probaly你正在寻找解决方案不好 - 不要搜索如何摆脱索引,但尝试重写你的解决方案,其中索引将没有任何意义。
事实上,人们从其他语言,这可能是混乱的,但在[阵列上手动](第一句http://php.net/manual/en/ language.types.array.php)说明了一切:_'PHP中的数组实际上是一个有序的映射。 “_ – Wrikken 2011-03-12 10:10:44