我正在尝试在php脚本中使用关联数组。 我发现,即使使用与键相同的值,如果变量不完全相同,则数组索引也不起作用。我的意思是:
$index=3;
$array['$index']='first';
echo $array['$index'];
first
$secondIndex=3;
echo $array['$secondIndex'];
这个回声没有输出。我需要知道这个,因为我使用第一个索引作为变量,一旦我第二次回应就变得不再可检索。有人可以确认这是一个真正的问题还是只是一个特定的案例,并提供某种解决方案?提前谢谢。
答案 0 :(得分:0)
单引号内的变量名称被视为字符串。所以
' $指数'将被视为字符串' $ index'和' $ secondIndex'作为字符串$secondIndex
。这就是为什么第二个回声没有输出,因为没有设置键$secondIndex
。
要解决此问题,请将其更改为:
<?php
$index=3;
$array[$index]='first';
echo $array[$index];
将首先打印文字&#39;与以下代码的输出相同:
<?php
$secondIndex=3;
echo $array[$secondIndex];
答案 1 :(得分:0)
只需使用var_dump()
,即可了解实际情况:
$index=3;
$array['$index']='first';
echo $array['$index'];
var_dump($array);
它基本上会打印以下输出,您可以从中确认索引中的确切位置。
firstarray(1) {
["$index"]=>
string(5) "first"
}
因此,索引不是3
,正如您猜测的那样,而是字符串$index
。