有没有类似于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;
在 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;