使用不同的变量管理关联数组

时间:2018-02-12 10:02:31

标签: php associative-array

我正在尝试在php脚本中使用关联数组。 我发现,即使使用与键相同的值,如果变量不完全相同,则数组索引也不起作用。我的意思是:

$index=3;
$array['$index']='first';
echo $array['$index'];
first

$secondIndex=3;
echo $array['$secondIndex'];

这个回声没有输出。我需要知道这个,因为我使用第一个索引作为变量,一旦我第二次回应就变得不再可检索。有人可以确认这是一个真正的问题还是只是一个特定的案例,并提供某种解决方案?提前谢谢。

2 个答案:

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