【发布时间】:2026-01-27 13:10:01
【问题描述】:
我正在尝试访问私有成员变量以用作数组中的键。
我的班级看起来像这样:
<?php
class MyClassName {
private $value;
private function MyFunction($array){
$some_html = "<b> $array[$this->value] <b>"; // error occurring on this line
return some_html;
}
}
?>
我得到的错误是
PHP Parse error: syntax error, unexpected '-', expecting ']
如果我在使用私有成员变量之前将其存储在数组中,则不会出现语法错误。这解释得很好:
<?php
class MyClassName {
private $value;
private function MyFunction($array){
$cache_key = $this->value;
$some_html = "<b> $array[$cache_key] <b>";
return $some_html;
}
}
?>
我有什么遗漏吗?我想加深对这里发生的事情的理解。谢谢。
【问题讨论】:
-
当你运行它时,
MyFunction会返回什么(在第二种情况下)? -
您的第一个示例没有任何问题,而在第二个示例中,您将
$value复制到$cache_key但未使用它。我的猜测是您的真实代码中某处存在语法错误。 -
在这里工作:3v4l.org/MgG62
-
抱歉,我更新了示例以更详细地展示正在发生的事情。我正在尝试返回一个字符串。