有人可以解释一下以下内容吗?
$a="";
$a="" ? "" : "muh";
echo $a;
// returns muh
答案 0 :(得分:1)
看起来您正在尝试使用Comparison operator ==
,而是使用Assignment operator =
您的代码正在尝试为$a
分配表达式"" ? "" : "muh"
的结果。空字符串的计算结果为false
,$a
的值为muh
。
让我们用一些括号使其更加明显:
//$a equals (if empty string then "" else "muh")
$a = ("" ? "" : "muh");
echo $a; // muh
//$a equals (if $a is equal to empty string then "" else muh)
$a = ($a == "" ? "" : "muh");
echo $a; //