平常中見過那種高大上的寫法购岗,有沒有摩拜的感覺?
可能不會說门粪,不喊积!我看不懂==,沒救了玄妈,少年乾吻。。拟蜻。
(òωó?)绎签!哈哈 我來教你怎么看懂那種邏輯運算代碼
來先看一個簡單的邏輯
場景:
假設有一個蘋果,有鳴人瞭郑,柯南(動畫片的人物哈哈)2個人
問題
如果鳴人有蘋果辜御,那么柯南得到一個橘子鸭你,否則可能得到一個香蕉
簡單吧屈张。
解決:人物為變量,采用拼音
方法一 if大法
if($mingren.hasApple()){
$kenan =getOrange();
}else{
$kenan =getBanana();
}
注:簡單吧袱巨,但是low不low啊 阁谆,都21世紀了,玩點高大上的
方法二: 三木運算
$kenan = $mingren.hasApple() ? getOrange() : getBanana() 愉老;
注:是不是好多了哈
不過都不是我要說的场绿,來看高大上的吧
方法三 高大上
$kenan= getOrange() :
$mingren.hasApple() || $kenan = getBanana() ; //*重點
猜對了嫉入,這么牽強的說這么多焰盗,我要說的就是那個重點璧尸,
是不是在某個項目中看過類似的代碼,對于很多人而言熬拒,乍一看爷光,返回值Boolean值,干嘛用的澎粟,No!返回值是Boolean沒錯蛀序,但是玄機很大。
簡單寫個荔枝吧(php代碼)
$a = 6;
$b = 5;
if ($a = 3 || $b = 8) {
var_dump($b);
var_dump($a);
}
猜猜答案:
答案:$a = true $b = 5
分析:if中優(yōu)先級:$a = (3 || $b = 8)
3先與后面的邏輯或運算比較活烙,所以賦給$a的值是true徐裸,而不是3;
輸出$b的值是依然是5啸盏,即在邏輯或運算中重贺,第一個成立的話,則第二個以及以后的就無需再進行比較計算了回懦;
所以檬姥,最后一個式子知道答案了,以后看到這種寫法肯定知道問題所在了吧