deb*_*deb 6 php variables parsing syntax-error
是否有可能在不使用$的情况下引用变量?
例如:
if ($a != 0 && a == true) {
...
}
Run Code Online (Sandbox Code Playgroud)
我不这么认为,但代码(不是我写的)没有显示错误,我认为这很奇怪.我忽略了代码,也不是常量.
在PHP中,可以定义一个常量,它不会有一个$
,但变量必须有一个.但是,这不是变量,也不是变量的替代品.常量只需定义一次,并且在脚本的整个生命周期内不会更改.
define('a', 'some value for a');
Run Code Online (Sandbox Code Playgroud)
此外,您不能在双引号或HEREDOC字符串中插入常量的值:
$a = "variable a"
define('a', 'constant a');
echo "A string containing $a";
// "A string containing variable a";
// Can't do it with the constant
echo "A string containing a";
// "A string containing a";
Run Code Online (Sandbox Code Playgroud)
最后,PHP可能会发出通知Use of undefined constant a - assumed 'a'
并将其解释为错误的未加引号的字符串"a"
.查看错误日志以查看是否发生了这种情况.在这种情况下,"a" == TRUE
有效,因为字符串"a"
是非空的,并且它与布尔值TRUE松散地比较.
echo a == TRUE ? 'true' : 'false';
// Prints true
// PHP Notice: Use of undefined constant a - assumed 'a'
Run Code Online (Sandbox Code Playgroud)