【发布时间】:2014-06-26 20:42:46
【问题描述】:
好吧,我被难住了。我正在尝试将变量设置为多维关联数组,但我不明白为什么这不起作用。
class myClass
{
private $someProblem = 'data_is_here';
private $access_array =
array
('key1a' => array
(
'key2a' => array('key3a' => 'data1','key3b' => 'data4', 'key3c' => $someProblem),
'key2b' => array('key3a' => 'data2','key3b' => 'data5', 'key3c' => $someProblem),
'key2c' => array('key3a' => 'data3','key3b' => 'data6', 'key3c' => $someProblem)
)
...more array values here, same pattern...
}
在这个迭代中,我得到:
Parse error: syntax error, unexpected '$someProblem' (T_VARIABLE) in myclass.class.php on line 10
我尝试将 $someProblem 更改为常量、将其设为静态、将其设为公开等,但我总是在变量出现的位置出现错误(错误更改,但总是致命的)。
提前感谢您的帮助 - 特别是,请解释为什么它在 'key3a'=>'data1' 处没有失败,以及为什么如果我将 $someProblem 替换为 'data_is_here',它会起作用。
【问题讨论】:
-
语法高亮显示你的错误。任何基本的文本编辑器都会这样做。
-
可能是key3b后面的双单引号'',注意后面文字颜色偏移了
-
'key3b''额外的单引号 -
另请注意,您不能将类属性定义为变量值。所有类属性分配都需要是静态确定的。一旦你修复了上面提到的语法错误,这将是你的下一个问题。在这里阅读第一段php.net/manual/en/language.oop5.properties.php
-
实际上-不是这样。这些是在我删除要在此处发布的实际数据时引入的。立即编辑
标签: php multidimensional-array variable-assignment