復制代碼 代碼如下: <?php $a=1;$b=2;$c=3;$d=4; echo $a<$b?'xx':$a<$c?'yy':$a<$d?'zz':'oo'; ?> 一般按照其它語言(比如C或Java)的規則, 以上代碼的運算邏輯是:

復制代碼 代碼如下: $a " /> 日本v片免费一区二区三区,2015www小明永久免费,五月婷在线

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP三元運算符的結合性介紹

先看一個三元運算式子:

復制代碼 代碼如下:
<?php
$a=1;$b=2;$c=3;$d=4;
echo $a<$b?'xx':$a<$c?'yy':$a<$d?'zz':'oo';
?>

一般按照其它語言(比如C或Java)的規則, 以上代碼的運算邏輯是:

復制代碼 代碼如下:
$a<$b => true => 'xx' ==> 結束

那么最后得到的結果就是'xx', 而再往后的運算都會被無視.
然而令人吃驚的是, php運算以上代碼最后得到的結果卻是'zz'...我擦, 什么情況, 這不坑爹么...
老規矩, 只好求教谷歌醬, 結果被告知php的三元運算竟然是向左結合的...于是豁然開竅.
我給上面的代碼加上兩個括號:

復制代碼 代碼如下:
<?php
$a=1;$b=2;$c=3;$d=4;
echo (($a<$b?'xx':$a<$c)?'yy':$a<$d)?'zz':'oo';
?>

一目了然了吧, 這才是php的運算邏輯:

復制代碼 代碼如下:
$a<$b => true => 'xx' => true => 'yy' => true => 'zz' => 結束

這其中涉及到兩個類型轉化的過程, 即 'xx' => true 和 'xx' => true.
不知這樣的過程是否是蛋疼, 確實是讓人很難理解...
最后再次回到上面的代碼, 將其變為像C一樣的向右結合吧:

復制代碼 代碼如下:
<?php
$a=1;$b=2;$c=3;$d=4;
echo $a<$b?'xx':($a<$c?'yy':($a<$d?'zz':'oo'));
// 括號換下位置就行了, php里括號省不得
?>

php技術PHP三元運算符的結合性介紹,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品新一区二区三区四区 | 国产视频精品久久 | 欧美精品第1页www劲爆 | 亚洲一区视频在线播放 | 91麻豆国产| 婷婷四房综合激情五月在线 | 国产精品高清一区二区三区 | 成年午夜视频 | 亚洲成在人天堂一区二区 | 亚洲综合色一区二区三区另类 | 日韩一区视频在线 | 亚洲一级黄色毛片 | 欧美色域| 国产精品一区二区三区高清在线 | 亚洲人成网男女大片在线播放 | 黄色资源在线观看 | 亚洲一区二区三区亚瑟 | 丁香视频在线观看播放 | 国产亚洲精品hd网站 | 不卡国产00高中生在线视频 | 韩国精品欧美一区二区三区 | 日本一区二区三区四区公司 | 国内自拍视频在线看免费观看 | 91精品一区二区三区在线播放 | 95视频在线观看在线分类h片 | 婷婷综合影院 | 久久伊人精品一区二区三区 | 一区不卡 | 日韩一区国产二区欧美三区 | 4se成人| 欧美一级欧美一级高清 | 黄网免费视频 | www.国产网站 | 精品视频午夜一区二区 | 欧美亚洲另类图片 | 91精品麻豆 | 婷婷综合社区 | 成人免费在线观看视频 | 99在线免费播放 | 亚洲视频免费一区 | 中文字幕一区2区 |