目錄
php三元运算符详解,运算符详解
首頁 php教程 php手册 php三元运算符详解,运算符详解

php三元运算符详解,运算符详解

Jun 13, 2016 am 09:03 AM
運算符

php三元运算符详解,运算符详解

今天在改论文在线的时候遇到了一个语句看不懂:
$if_summary = $row['IF_SUMMARY']==2?'是':'否';
后来百度后发现是PHP的三元运算符
这句话的意思就等于是
if($row['IF_SUMMARY']==2){
$if_summary="是";
}else{
$if_summary="否";
}


三元运算符的功能与“if...else”流程语句一致,它在一行中书写,代码非常精练、执行效率更高。

在PHP程序中恰当地使用三元运算符能够令脚本更为简洁、高效。

代码格式如下:(expr1) ? (expr2) : (expr3);
解释:如果条件“expr1”成立,则执行语句“expr2”,否则执行“expr3”。
实现同样的功能,若使用条件流程语句,就需要书写多行代码:
if(expr1) {

expr2;
} else {
expr3;
}
可见,前面所说的三元运算符之好并非夸张。可是,多数情况下我们只在代码较为简单的时候使用三元运算符,即执行语句只为单句的时候。如:
$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嵌套使用的三元运算符可读性不太好,日后对代码的维护极可能存在问题,但比起“if...else”之类的流程语句,在上述情形之下,它的确太简练了,这是它的诱人之处。
对于喜欢偷懒和追求代码简洁的人来说,用三元运算符取代if流程语句应该是绝佳的选择。即使不用考虑“三元”中条件句以外的任意某一“元”,使用三元运算符仍然比if语句简练。以下语句的语法是正确的,它们以小解引号的方式忽略了第二或第三“元”:
$a>$b ? print "Yes" : "";
$a>$b ? '': print 'No';
应该注意的是:在使用三元运算符时,建议使用print语句替代echo语句。

注意下列一串语句的理解:

$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';


原文链接:bbs.php100.com/read-htm-tid-24239.html

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

c語言開根號運算子是什麼 c語言開根號運算子是什麼 Mar 06, 2023 pm 02:39 PM

在c語言中,沒有開根號運算符,開根號使用的是內建函數“sqrt()”,使用語法“sqrt(數值x)”;例如“sqrt(4)”,就是對4進行平方根運算,結果為2。 sqrt()是c語言內建的開根號運算函數,其運算結果是函數變數的算術平方根;此函數既不能運算負數值,也無法輸出虛數結果。

golang 報錯:「invalid use of … operator」 如何解決? golang 報錯:「invalid use of … operator」 如何解決? Jun 24, 2023 pm 05:54 PM

對於Golang開發者來說,「invaliduseof…operator」是一個常見的報錯。這個報錯通常會在使用變長參數函數時出現。它在編譯時就會被檢測出來,並指出哪些部分有問題。這篇文章將介紹如何解決這個報錯。一、什麼是變長參數函數變長參數函數也稱為可變參數函數,是Golang語言中的一種函數型別。使用變長參數函數可以像如下方式定義多個

Java中的%是什麼意思 Java中的%是什麼意思 Mar 06, 2023 pm 04:48 PM

在Java中,「%」是取餘的意思,是一個二元算術運算符,可進行除法運算並取得餘數,語法「操作數1 % 操作數2」。取餘運算子「%」的運算元通常是正整數也可以是負數甚至是浮點數,如果負數參與此運算,則結果的正負取決於前面一個數是正數還是負數。

C語言中+=運算子的意義與用法解析 C語言中+=運算子的意義與用法解析 Apr 03, 2024 pm 02:27 PM

+=運算子用於將左操作數的值加上右操作數的值,並將結果賦值給左操作數,適用於數字類型且左操作數必須可寫。

php中「==」符號的意思是什麼 php中「==」符號的意思是什麼 Mar 14, 2023 pm 07:05 PM

在php中,「==」符號是比較運算符,可以比較兩個運算元是否相等,語法「操作數1 == 運算元2」。 「==」運算子會比較、並測試左邊的變數(表達式或常數)是否與右邊的變數(表達式或常數)具有相同的值;它只比較變數的值,而不是資料類型。如果兩個值相同,則傳回true值;如果兩個值不相同,則傳回false值。

Python 語法的心智圖:深入理解程式碼結構 Python 語法的心智圖:深入理解程式碼結構 Feb 21, 2024 am 09:00 AM

python憑藉其簡單易讀的語法,廣泛應用於廣泛的領域。掌握Python語法的基礎架構至關重要,既可以提高程式效率,又能深入理解程式碼的運作方式。為此,本文提供了一個全面的心智圖,詳細闡述了Python語法的各個面向。變數和資料類型變數是Python中用於儲存資料的容器。心智圖展示了常見的Python資料類型,包括整數、浮點數、字串、布林值和列表。每個資料類型都有其自身的特性和操作方法。運算符運算符用於對資料類型執行各種操作。心智圖涵蓋了Python中的不同運算子類型,例如算術運算子、比

php怎麼判斷兩個數能否整除 php怎麼判斷兩個數能否整除 Jan 10, 2023 pm 03:12 PM

在php中,可以使用「%」和「==」運算子來判斷兩個數能否整除;只需要使用「%」運算子將兩個數相除取得餘數,再使用「==」運算符判斷所獲得的餘數是否為0即可,語法“數1 % 數2 == 0”,若為0則能整除,若不為0則無法整除。

Python中的魔法方法 Python中的魔法方法 Apr 13, 2023 am 10:25 AM

python中的魔法方法是一些可以讓你對類別添加「魔法」的特殊方法,它們經常是兩個下劃線包圍來命名的。 Python的魔法方法,也稱為dunder(雙下劃線)方法。大多數的時候,我們將它們用於簡單的事情,例如建構函數(init)、字串表示(str, repr)或算術運算子(add/mul)。其實還有許多你可能沒聽過的但是卻很好用的方法,在這篇文章中,我們將整理這些魔法方法!迭代器的大小我們都知道__len__方法,可以用它在容器類上實作len()函數。但是,如果您想取得實作迭代器的類別物件的長度

See all articles