可能重复:
php中的代码":"
我经常看到很多php代码使用?并且:但我实际上并不了解它的用途.这是一个例子:
$selected = ($key == $config['default_currency']) ? ' selected="selected"' : '';
Run Code Online (Sandbox Code Playgroud)
有人能把我弄清楚吗?:)
Vin*_*ard 14
这是三元运营商.它基本上是一行if/else.
例如,那些行:
if (!empty($_POST['value'])) {
$value = $_POST['value'];
} else {
$value = "";
}
Run Code Online (Sandbox Code Playgroud)
可以通过这条线缩短:
$value = (!empty($_POST['value'])) ? $_POST['value'] : "";
Run Code Online (Sandbox Code Playgroud)
如果您不滥用代码,它可以使代码更容易阅读.
(condition ? val1 : val2)
Run Code Online (Sandbox Code Playgroud)
求值val1if condition为true,或val2if condition为false.
从PHP 5.3开始,您可能还会看到一个更加模糊的形式val1:
(val0 ?: val2)
Run Code Online (Sandbox Code Playgroud)
计算结果val0是否val0计算为非假值或val2其他值.哎呀!
请参见http://php.net/manual/en/language.operators.comparison.php