在JavaScript中,我可以这样做:
console.log( 'a' || 'b' ); // Prints 'a'
在PHP中,等效项是:
echo 'a' ?: 'b'; // Prints 'a'
在JavaScript中:
console.log( 'a' && 'b' ); // Prints 'b'
我的问题是,JavaScript与JavaScript的'a'&&'b'等效吗?
如果我在PHP中执行以下操作:
echo 'a' && 'b'; // Prints 1
如您所见,它将强制类型转换为布尔值1(true)。
什么是可以获取实际值的PHP运算符,例如JavaScript的&&?
P.S。我了解三元声明,请不要建议。
PHP返回true或false。但是您可以模拟JavaScript的r = a || b || c与:
$r = $a ?: $b ?: $c;
关于'&&',类似:
$r = ($a && $a->foo) ? $a->foo->bar : null;
类似
$a = 100;
$b = 50;
// Check two condition using
// AND operator
if ($a == 100 and $b == 10)
echo "True";
else
echo "False";
?>