php - 空字符串不等于 PHP 三元运算符表达式中的空字符串

标签 php string ternary-operator is-empty

有人能给我解释一下以下内容吗?

$a="";

$a="" ? "" : "muh";

echo $a; 
// returns muh

最佳答案

看来您正在尝试使用 Comparison operator ==,但您使用的是 Assignment operator =

您的代码正在尝试将表达式 ""的结果分配给 $a ? “”:“嗯”。空字符串被评估为 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; //     

关于php - 空字符串不等于 PHP 三元运算符表达式中的空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47726882/

相关文章:

java - 如何将字符串映射到 Java 中的函数?

python - 如何从 Python 中的文件名列表中删除文件名的扩展名?

Std::String 的 C++ Printf 样式格式化

php - 为什么日期之间的查询返回空

php - 如何使用jQuery和AJAX在表单提交后立即显示数据?

php - 在链接内传递变量仅适用于多词变量中的第一个词,为什么?

javascript - 三元运算符和赋值 : better way for not calling the same function twice

c# - 为什么我可以使用 If Else 语法而不是三元运算符?

java - Java中如何将null转为false?

PHP $_GET 和 $_POST 代码不工作