天天看點

php中利用邏輯運算符&&和||代替if else

邏輯運算符介紹

我們都知道&&邏輯運算隻有前後運算都傳回true結果才是true,否則傳回false

<?php
 var_dump(1&&2);//結果列印:bool(true)
 var_dump(1&&0);//結果列印:bool(false)
           

反之,||邏輯運算符目前面運算傳回true,就直接傳回true,如果前面運算傳回false,則看後面狀态

<?php
 var_dump(1||0);//結果列印:bool(true)
 var_dump(0||1);//結果列印:bool(true)
 var_dump(0||0);//結果列印:bool(false)
           
改造if-else結構

看以下if-else示例

<?php
 $a = 0;
 if ($a > 1) {
 	$c = 2;
 } else {
 	$c = -1;
 }
 var_dump($c);//列印結果:int(-1)
           

用運算符改造以上程式

<?php
 $a = 0;
 ($a>1) && ($c=2) || ($c=-1);
 var_dump($c);//列印結果:int(-1)
           
總結問題

從上面示例可以觀察到,整個改造過後的整體邏輯句式是傳回true的,運算式子($c=2)也是當做true,是以按照這個邏輯去修改if-else。值得注意的問題是,這樣的寫法雖然簡略了代碼行數,結構上相對簡潔,不過對于,後期其他開發人員去維護的話可能對其閱讀代碼的能力要求比較高。(簡寫一時爽,一直簡寫,一直爽),交流Q:1341514258,微網誌:唐智勤Wz