JavaScript";或-PHP中的功能

JavaScript";或-PHP中的功能,javascript,php,Javascript,Php,我有以下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; //

我有以下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中相同的功能?
我尝试了按位或
|
,但这只是有时有效,有时我会得到非常奇怪的结果。

在PHP中,逻辑运算符总是返回布尔值,因此您必须像在问题中所做的那样完成这项工作。也可以使用三元运算符进行写入:

$phone = $row['phone'] ? $row['phone'] : $row['mobile'];
看一看。 您可以这样使用elvis运算符:

$phone = $row['phone'] ?: $row['mobile'];
这将比

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

这个
似乎就是我要找的。你能简单解释一下这到底是怎么回事吗?@chillichief这是三元运算符。谷歌,好的,我知道了。它实际上只是我所写代码的shorhand版本。THXIt基本上是if--else的简写@chillichiefOk这正是我想要的。短而甜