Heim  >  Artikel  >  Backend-Entwicklung  >  Verschachteltes Beispiel eines ternären Operators in PHP

Verschachteltes Beispiel eines ternären Operators in PHP

巴扎黑
巴扎黑Original
2018-05-15 13:54:055615Durchsuche

// 乍看起来下面的输出是 'true'
echo (true?'true':false?'t':'f');

// 然而,上面语句的实际输出是't',因为三元运算符是从左往右计算的

// 下面是与上面等价的语句,但更清晰
echo ((true ? 'true' : 'false') ? 't' : 'f');

// here, you can see that the first expression is evaluated to 'true', which
// in turn evaluates to (bool)true, thus returning the true branch of the
// second ternary expression.
/**
 *先判断$_GET['a']若成立则判断(isset($_GET['b']) ? $_GET['b'] : 'other'),因为有括号,所以
 *会当成一个整体运算
 */
$rs = isset($_GET['a']) ? $_GET['a'] : (isset($_GET['b']) ? $_GET['b'] : 'other');
var_dump($rs);


/**
 * 注意:自左向右结合运算
 *先判断$_GET['a']若成立则 则变成 $_GET['a'] ? $_GET['b'] : 'other';
 *不可忽视括号的作用
 */
$rs = isset($_GET['a']) ? $_GET['a'] : isset($_GET['b']) ? $_GET['b'] : 'other';
var_dump($rs);

Das obige ist der detaillierte Inhalt vonVerschachteltes Beispiel eines ternären Operators in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn