$val1 = false;
$val2 = 10;
$variable = $val1 || $val2;
上面的代码会生成$variable = true
。
如果$variable
为假,PHP中是否有任何运算符会使$val2
取$val1
的值?
我认为||
会这样做,但只有当任何值为真时才返回true,如果两者都为假,则返回false ...
答案 0 :(得分:5)
三元运算符
$variable = ($val1) ? $val1 : $val2;
或(在PHP 5.3+中)
$variable = ($val1) ?: $val2;
答案 1 :(得分:3)
答案 2 :(得分:2)
您也可以使运算符优先:
$variable = $value1 or $variable = "value2";
or
弱于=
。如果添加额外的空格,它会更具可读性。但它或多或少是缺少?的解决方法:在PHP< 5.3。