在遗留的PHP脚本中,我找到了以下代码行:
$CacheLite =& ( "string" );
引发错误:
解析错误:语法错误,意外 '(',期待T_NEW或T_STRING或 T_VARIABLE或'$'
这是一个错误或通过引用或其他我不知道的方式传递的方式。我是否必须在我的php配置中启用/禁用某些内容才能使其正常工作?
答案 0 :(得分:4)
您不能通过引用来分配PHP中的文字值或表达式;它必须是对变量的引用。我不知道那行代码是如何到达那里的(为什么$CacheLite
被分配给一些随机字符串呢?) - 可能是遗留代码中的一个错误。
答案 1 :(得分:3)
存在按引用分配,但只能将变量作为引用传递/分配。值(整数,字符串等)和表达式(如("string")
)不能。
这是您通过引用分配的方式:
$a = "string";
$b = &$a;
答案 2 :(得分:1)
那一定是个错误。没有这样的语法。创建对文字或表达的引用只是假的。