JavaScript“或”

我在PHP中有以下代码

if($row["phone"])
  $phone = $row["phone"];
else
  $phone = $row["mobile"];

在JavaScript中我可以简单地写

phone = row.phone || row.mobile;

写起来更容易,而且看起来好多了。 如果我在PHP中尝试相同,它会简单地返回true

$phone = $row["phone"] || $row["mobile"];
echo $phone;     // 1

PHP中是否有任何运算符为我提供与JavaScript中相同的功能? 我尝试了按位或| ,但只有有时有效,有时我会得到非常奇怪的结果。


看看这个答案。 你可以像这样使用elvis运算符:

$phone = $row['phone'] ?: $row['mobile'];

这会比

$phone = $row['phone'] ? $row['phone'] : $row['mobile'];

在PHP中,逻辑操作符总是返回一个布尔值,所以你必须按照你的问题完成这项工作。 您也可以使用三元运算符来编写代码:

$phone = $row['phone'] ? $row['phone'] : $row['mobile'];
链接地址: http://www.djcxy.com/p/57733.html

上一篇: JavaScript "or"

下一篇: Shortest if/else using ternary operators