也可以打印数组中的副本

时间:2016-11-17 16:05:51

标签: php arrays

我想知道为什么我没有得到数组中的3个元素。

$array1 = array(
        "One" => 1,
        "Two" => 2,
        "One" => 1
    );

我打印时:

echo 'array1:<pre>'; print_r($array1); echo '</pre>';

我明白了:

array1:
Array
(
    [One] => 1
    [Two] => 2
)

这不是我想要的。我需要展示以下内容:

array1:
    Array
    (
        [One] => 1
        [Two] => 2
        [One] => 1
)

任何帮助都将不胜感激。 提前致谢

3 个答案:

答案 0 :(得分:2)

您的数组是一组键/值对。把它想象成一本字典:

array( "elephant" => "Big grey animal with tusks",
       "canary" => "Little Yellow Bird",
       "elephant" => "Candy that tastes like Skittles"
     )

当你打印这个时,你总会得到&#34; elephant&#34;的第二个定义,就像你的代码一样。尝试将第二个"one" => 1更改为"one" => 77

因为PHP从上到下读取,所以最后一个将始终是最终答案,就像在变量中一样。

答案 1 :(得分:1)

您不能在数组中拥有重复的键。因此,通过声明array['one'],您可以替换密钥array['one']之前设置的旧值。

答案 2 :(得分:0)

使用数组数组..我想你正在努力实现这个......

但这看起来很奇怪     array( ['one'] => array(1,3), ['two']=> 2);