PHP運(yùn)算符之邏輯運(yùn)算

平常中見(jiàn)過(guò)那種高大上的寫(xiě)法,有沒(méi)有摩拜的感覺(jué)?
可能不會(huì)說(shuō),不!我看不懂==,沒(méi)救了,少年。。。
(òωó?)!哈哈 我來(lái)教你怎么看懂那種邏輯運(yùn)算代碼
來(lái)先看一個(gè)簡(jiǎn)單的邏輯

場(chǎng)景:

假設(shè)有一個(gè)蘋(píng)果,有鳴人,柯南(動(dòng)畫(huà)片的人物哈哈)2個(gè)人

問(wèn)題

如果鳴人有蘋(píng)果,那么柯南得到一個(gè)橘子,否則可能得到一個(gè)香蕉
簡(jiǎn)單吧。

解決:人物為變量,采用拼音

方法一 if大法

if($mingren.hasApple()){
      $kenan =getOrange(); 
}else{
   $kenan =getBanana(); 
}

注:簡(jiǎn)單吧,但是low不low啊 ,都21世紀(jì)了,玩點(diǎn)高大上的

方法二: 三木運(yùn)算

$kenan = $mingren.hasApple() ? getOrange() :  getBanana() ;

注:是不是好多了哈
不過(guò)都不是我要說(shuō)的,來(lái)看高大上的吧

方法三 高大上

  $kenan=  getOrange() :
  $mingren.hasApple() || $kenan =  getBanana() ; //*重點(diǎn)

猜對(duì)了,這么牽強(qiáng)的說(shuō)這么多,我要說(shuō)的就是那個(gè)重點(diǎn),
是不是在某個(gè)項(xiàng)目中看過(guò)類(lèi)似的代碼,對(duì)于很多人而言,乍一看,返回值Boolean值,干嘛用的,No!返回值是Boolean沒(méi)錯(cuò),但是玄機(jī)很大。
簡(jiǎn)單寫(xiě)個(gè)荔枝吧(php代碼)

$a = 6;
$b = 5;
if ($a = 3 || $b = 8) {  
    var_dump($b);   
   var_dump($a);    
}

猜猜答案:

答案:$a = true $b = 5

分析:if中優(yōu)先級(jí):$a = (3 || $b = 8)

3先與后面的邏輯或運(yùn)算比較,所以賦給$a的值是true,而不是3;
輸出$b的值是依然是5,即在邏輯或運(yùn)算中,第一個(gè)成立的話,則第二個(gè)以及以后的就無(wú)需再進(jìn)行比較計(jì)算了;

所以,最后一個(gè)式子知道答案了,以后看到這種寫(xiě)法肯定知道問(wèn)題所在了吧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容