考虑我的关联数组具有相同的键值:
$arr = {'MessageID' =>1 ,'MessageID' =>5 , 'MessageID' => 8};
现在我希望每次调用function foo()
,这会调用新的键值'MessageID'=>integer
如果不覆盖其他现有的键值对,我们怎么能这样做?
答案 0 :(得分:1)
在php数组中,您无法插入具有相同索引的多个值。 如果您想使用它,那么您可以按照以下方式使用它
$MessageID = array(1,5,8);
和
$MessageID[] = $newValue;
插入新值。
答案 1 :(得分:1)
您不能拥有包含重复键的数组。
更好的实现是使用一个名为$ messageIDs的数组并将实际值保存在数组中:
$messageIDs = array (1, 5, 8);
答案 2 :(得分:1)
之前有很多回答者,你不能在PHP中拥有数组中具有相同字符串的键。如果你想为每个键表示多个值,我会使用以下内容:
$arr = ['MessageID' => [1, 5, 8]];
您将使用以下代码附加到MessageID:
$arr['MessageId'][] = 10;
然后它会是这样的:
['MessageID' => [1, 5, 8, 10]]
这对我来说非常适合使用HTTP标头和其他基于键值的东西,但可以有多个值。
答案 3 :(得分:1)
正如我在评论中提到的,你不能在数组中有重复的键。你的花括号样本也不是有效的PHP语法。
也许您需要一个多维数组:
$arr = [['messageID'=>1],['messageID'=>5],['messageID'=>8]];
在这种情况下,您可以添加其他值,如下所示:
$arr[] = ['messageID'=>11];