我经常在 PHP 中看到:
$result = mysql_query($query) or die();
来自 python,我知道为什么这应该起作用,因为or
如果它在布尔上下文中为真,则返回第一个值,否则返回第二个值(参见this)。
但是当我在另一个上下文中尝试在 PHP 中使用上述技术时,例如:
$name = "John Doe";
echo $name or "Anonymous";
or
不返回第一个值(“John Doe”),它返回 1 。
为什么这在 mysql_query() 结果情况下有效,但在其他情况下无效?在 mysql_query() 情况下使用是否不好(忽略我没有向用户返回有用错误的事实)?