问号
2022-08-30 19:32:57
$hideCode = $likesObj->isAlreadyLikedByUser(facebookUID()) ? 'style="display:none;"' : '';
任何人都可以向我解释这个问号在这行代码中的作用吗?多谢!
$hideCode = $likesObj->isAlreadyLikedByUser(facebookUID()) ? 'style="display:none;"' : '';
任何人都可以向我解释这个问号在这行代码中的作用吗?多谢!
这被称为三元运算符,它适用于多种语言,包括PHP,Javascript,Python,Ruby...
$x = $condition ? $trueVal : $falseVal;
// same as:
if ($condition) {
$x = $trueVal;
} else {
$x = $falseVal;
}
在 PHP 中使用三元组时,需要注意的一点非常重要的一点是:
注意:请注意,三元运算符是一个语句,它的计算结果不是变量,而是语句的结果。了解是否要通过引用返回变量非常重要。语句返回 $var == 42 ?$a : $b;因此,按引用返回函数将不起作用,并且在以后的 PHP 版本中会发出警告。源
实际上,此语句表示三元运算,即条件表达式:
// works like: (condition) ? if-true : if-false;
$hideCode = $likesObj->isAlreadyLikedByUser(facebookUID()) ? 'style="display:none;"':'';
在你的情况下将有价值,如果$hideCode
style="display:none;"
$likesObj->isAlreadyLikedByUser(facebookUID())
将返回 true,否则它将为 null 或空。