2015-01-02 25 views

回答

1

Ternary Operator

$a = ''; 
$b = 1; 

echo $a ?: $b; // 1 

直到$被评估为假,$ B将被显示出来。请记住下面的事情被认为是empty

"" (an empty string) 
0 (0 as an integer) 
0.0 (0 as a float) 
"0" (0 as a string) 
NULL 
FALSE 
array() (an empty array) 
$var; (a variable declared, but without a value) 

这意味着,如果$ a “”,0, “”,空,假,阵列()..然后$ B将显示0 。见PHP type comparison tables

如果你想显示$ B只有当$ a是一个空字符串,那么你应该使用严格的比较操作符(===)

$a = ''; 
$b = 1; 

echo $a === '' ? $b : ''; // 1 
1

这是在PHP中IF/Else声明的简写。

echo ($a != '' ? $a : $b) 

$a如果不是空串输出(回波)$a否则输出$ B。