有没有类似于javascript的“||”的php运算符?

Is there a php operator similar to javascript's "||"?

在 javascript 中,逻辑或运算符 returns 第一个 truthy 操作数,例如

var x = null || 5 || 1;

将 5 赋值给 x。
php有类似的东西吗?

您描述的用例是:如果该值存在则使用它,否则使用默认值。这是一个很常见的模式。

从 PHP 5.3 开始,您可以:

$var = $foo ?: 5;

在旧版本中你可以这样做:

$var = $foo ? $foo : 5;

请注意:

var x = null || 5 || 1;

最终路径 || 1 永远不会被选中,因为 5 永远不会 falsy

|| 是 PHP 和许多其他编程语言中的逻辑运算符。在官方 PHP documentation.

中了解更多关于逻辑运算符的信息

你要找的是一个ternary operator,也就是下面PHP中的:

$valueOne = $null ? $null : $five;

从 PHP 5.3 开始,您可以使用缩写形式:

$valueOne = $null ?: $five;

并且由于它的结合性是left,您可以连续多次使用它:

$valueOne = $null ?: $five ?: $one;