【发布时间】:2011-08-18 09:29:27
【问题描述】:
在一个软件中,我用array_merge函数合并了两个数组。但我需要将相同的数组(当然,使用相同的键)添加到现有数组中。
问题:
$A = array('a' => 1, 'b' => 2, 'c' => 3);
$B = array('c' => 4, 'd'=> 5);
array_merge($A, $B);
// result
[a] => 1 [b] => 2 [c] => 4 [d] => 5
如您所见,'c' => 3 丢失了。
那么我怎样才能用相同的键合并所有的?
【问题讨论】:
-
数组应该有唯一的键...这是数组的基本属性
-
你如何想象一个有两个相同键的数组?
-
正如他们所说,键必须是唯一的。考虑使用二维数组而不是关联数组,然后您可以合并它们而不会产生任何冲突。即array(array('a', 1), array('b', 2), array('c', 3), array('c', 4), array('d', 5))跨度>
-
@Nemoden - 是的,这太奇怪了。但是我的 DB 类需要合并 WHERE 和 PARAMS 以在 mysqli 中绑定。无论如何,所以我需要合并它们:)
-
工作代码如下。它构建实际的 where 语句,但不构建绑定。希望对您有所帮助。
标签: php array-merge