本文目錄一覽:
問個php簡單三元運算的問題
如果 $page_len%2 的值 對 2 求余,結果不為0,就把
$page_len 賦值給 $page_len,否則就把 $page_len + 1 賦值給 $page_len
意思就是,如果$page_len的值剛好是2的整數倍,就加1,否則保存原值不變
關於php 三元運算符的優先順序問題。請教?
三元運算符的優先順序是從右到左的,因此上面順序是:
$i = 2;
先運行:($i == 2 ? “A” : $i == 1)
然後再運行 (? ‘B’ : ‘C’;)
假設第一個運行的結果是 $ret 那麼$ret的值為A;
那麼第二個可以寫成
$ret?’B’:’C’;
因$ret的值為A,是真值,所以結果是B。
三元運算符 php
三元運算符可以算是if else 的一個簡寫,列出的代碼可以寫為
if (1+2+$a) {
echo $a;
}else{
echo 3;
}
所以結果是$a的值,也就是4
PHP中三元運算符如何表示當前值為空時捨棄這個條件
1 $if_summary = $row[‘IF_SUMMARY’]==2?’是’:’否’;
PHP的三元運算符
這句話的意思就等於是
12345 if($row[‘IF_SUMMARY’]==2){ $if_summary=”是”; }else{ $if_summary=”否”; }
三元運算符的功能與「if…else」流程語句一致,它在一行中書寫,代碼非常精練、執行效率更高。
在PHP程序中恰當地使用三元運算符能夠令腳本更為簡潔、高效。
代碼格式如下:(expr1) ? (expr2) : (expr3);
解釋:如果條件「expr1」成立,則執行語句「expr2」,否則執行「expr3」。
實現同樣的功能,若使用條件流程語句,就需要書寫多行代碼:
123456 if(expr1) { expr2; } else { expr3; }
可見,前面所說的三元運算符之好並非誇張。可是,多數情況下我們只在代碼較為簡單的時候使用三元運算符,即執行語句只為單句的時候。如:
1 $a$b ? print “a大於b” : print “a小於b”;
事實上,三元運算符可以擴展使用,當設置的條件成立或不成立,執行語句都可以不止一句,試看以下格式:
(expr1) ? (expr2).(expr3) : (expr4).(expr5);
我們非常明顯地看到,多個執行語句可以使用用字元串運算符號(「.」)連接起來,各執行語句用小角括弧包圍起來以表明它是一個獨立而完整的執行語句。這樣擴展後它的功能更為逼近「if…else」流程語句。
同時三元運算符還可以嵌套使用。例如,a大於b成立時:如果a小於c,那麼x=c-a否則x=a-c;否則a小於b成立時:如果b小於c,那麼x=c-b否則x=b-c:
$a$b ? $x=($a$c ? $c-$a : $a-$c) : $x=($b$c ? $c-$b : $b-$c);
嵌套使用的三元運算符可讀性不太好,日後對代碼的維護極可能存在問題,但比起「if…else」之類的流程語句,在上述情形之下,它的確太簡練了,這是它的誘人之處。
對於喜歡偷懶和追求代碼簡潔的人來說,用三元運算符取代if流程語句應該是絕佳的選擇。即使不用考慮「三元」中條件句以外的任意某一「元」,使用三元運算符仍然比if語句簡練。以下語句的語法是正確的,它們以小解引號的方式忽略了第二或第三「元」:
12 $a$b ? print “Yes” : “”; $a$b ? ”: print ‘No’;
應該注意的是:在使用三元運算符時,建議使用print語句替代echo語句。
注意下列一串語句的理解:
1 $str = $_GET[‘abc’] ? ‘wangjinbo’ : ‘wjb’;
這裡不能理解為:當$str等於$_GET[‘abc’] 時,賦值為 ‘wangjinbo’ 否則賦值為 ‘wjb’;因為一:判斷相等應該用==;因原二:三元算符的語法是如上所示:(expr1) ? (expr2) : (expr3),顯然上面的二元,三元’wangjinbo’或’wjb’不能單獨構成一個有意義的表達式;
正確理解是:當$_GET[‘abc’]為空(也就是否,PHP中 ”,null,0,undifine,都等效布爾值false)時,將$str賦值為’wangjinbo’,否則賦值為’wjb’;
以上所述就是本文的全部內容了,希望大家能夠喜歡。
PHP 三元運算符問題
你好,這裡三元運算符的意思是
$id是不是為空,不是的話為yes,是的話輸出No
因為$id=0,所以$id為空,屬於輸出了no
希望你的問題能解決,望採納
原創文章,作者:VCBMP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/318047.html