具有类似键分配的关联数组

时间:2014-08-12 09:38:45

标签: php associative-array

考虑我的关联数组具有相同的键值:

$arr = {'MessageID' =>1 ,'MessageID' =>5 , 'MessageID' => 8};

现在我希望每次调用function foo(),这会调用新的键值'MessageID'=>integer

如果不覆盖其他现有的键值对,我们怎么能这样做?

4 个答案:

答案 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];