变量变量为php中的数组

时间:2015-12-29 23:29:01

标签: php arrays

我已经成功地遵循了我认为是php文档中概述的正确步骤,以便从其他变量创建变量:http://php.net/manual/en/language.variables.variable.php,但是当变量是数组时,它会被取消。

我在php文件的开头包含了许多数组,例如:

foo.getMax()

然后用这样的用户变量动态引用它们

$maths5 = array(
array(
    'csv'=>'file.csv',
    'title'=>"Number and Place Value",
    )
);

从我读过的内容来看,我不明白为什么

$var = $_GET['subject'] . $_GET['year'];

这会按预期返回“数组”,但

echo $$var;

返回“maths5 [0]”,而不是“Array”和

echo $$var[0];

返回“致命错误:不能将字符串偏移用作数组”。我的目标是返回“file.csv”。我不知道如何解释此错误消息。

任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:1)

您需要使用另一个变量:

$maths5 = array(
array(
  'csv'=>'file.csv',
  'title'=>"Number and Place Value",
  )
);

$var = "maths5";
$var2 = $$var;

echo $var2[0]['csv'];