在PHP中使用相同名称访问数组中的数组项

时间:2014-01-30 15:03:29

标签: php arrays command-line multidimensional-array arguments

我在数组中有一个简单的PHP数组,如下所示:

$ defaults = array(   “color”=> “白色”,     阵列(          “color”=> “0000CC”, ) )

当我想调用第二个颜色项时问题变成了 - 因为它们的名称相同,我无法弄清楚如何在命令行上访问SECOND颜色项。下面的命令行代码不起作用,因为它只获取第一个数组中的FIRST颜色项。

php /Users/me/temp/the_Script/create.php --color ='0000CC'

如何在命令行中访问第二个数组中的SECOND颜色项?我是否可以在相同的命令行参数中抓取它们?

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以这样访问:

$defaults[0]["color"]

这是因为当你创建一个关联数组时,它们没有索引号,所以当你在defaults数组中创建第二个数组时,PHP会将它分配给第一个位置。

答案 1 :(得分:0)

在这个特殊情况下

$defaults = array( "color" => "White", array( "color" => "0000CC", ) );    
var_dump($defaults[0]['color']);

但你最好给它一个关联

$defaults = array( "color" => "White", "codes" => array( "color" => "0000CC", ) );
var_dump($defaults['codes']['color']);

虽然你的数组的一般结构对我没有任何意义。我不知道是不是因为你只是以它为例,或者你需要重新考虑结构。