這篇文章主要介紹PHP的三元運算符,有興趣的朋友參考下,希望對大家有幫助。
建議手冊:php完全自學手冊
#三元運算子語法:條件 ? 結果1 : 結果2 說明:問號前面的位置是判斷的條件,如果滿足條件時結果1,不滿足時結果2。
下面我們來詳細探討下。
今天在改論文在線的時候遇到了一個語句看不懂:
$if_summary = $row['IF_SUMMARY']==2?'是':'否';
這句話的意思就等於是
if($row['IF_SUMMARY']==2){ $if_summary="是"; }else{ $if_summary="否"; }
三元運算符的函數與「if...else」流程語句一致,它在一行中書寫,程式碼非常精練、執行效率更高。
相關文章推薦:
1.PHP三元運算子:快還是不快?
2.PHP中三元運算子和Null合併運算子的簡單比較
# 3.php中常見的運算子有哪些
相關影片推薦:
1.獨孤九賤(4)_PHP影片教學
在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<$c ? $c-$a : $a-$c) : $x=($b<$c ? $c-$b : $b-$c);
嵌套使用的三元運算子可讀性不太好,日後對程式碼的維護極可能有問題,但比起「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']為空值(也就是否(false),PHP中' ',null,0,undifine,都等效布爾值false)這時$str賦值為'wjb',否則賦值為'wangjinbo';
註:
IF語句條件裡面沒有條件時,內容本身$_GET['abc'] 為真,條件成立, str賦值為'wangjinbo' ,否則賦值為'wjb';沒有明確值為true時,真(true)表示有值,假(false)表示沒有值。
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。
相關推薦:
#以上是PHP的三元運算符的詳細內容。更多資訊請關注PHP中文網其他相關文章!

tomakephpapplicationsfaster,關注台詞:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,關注台詞:1)啟用opcodeCachingwithapCutoredUcescriptexecutiontime.2)實現databasequerycachingingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandreduceconnection.4 limitesclection.4.4

依赖注入(DI)通过显式传递依赖关系,显著提升了PHP代码的可测试性。1)DI解耦类与具体实现,使测试和维护更灵活。2)三种类型中,构造函数注入明确表达依赖,保持状态一致。3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

phpisusedforsenderemailsduetoitsbuilt-inmail()函數andsupportivelibrariesLikePhpMailerAndSwiftMailer.1)usethemail()functionForbasiceMails,butithasimails.2)butithasimail.2)

PHP性能瓶颈可以通过以下步骤解决:1)使用Xdebug或Blackfire进行性能分析,找出问题所在;2)优化数据库查询并使用缓存,如APCu;3)使用array_filter等高效函数优化数组操作;4)配置OPcache进行字节码缓存;5)优化前端,如减少HTTP请求和优化图片;6)持续监控和优化性能。通过这些方法,可以显著提升PHP应用的性能。

依賴性注射(DI)InphpisadesignPatternthatManages和ReducesClassDeptions,增強量強制性,可驗證性和MATIALWINABIOS.ItallowSpasspassingDepentenciesLikEdenciesLikedAbaseConnectionStoclasseconnectionStoclasseSasasasasareTers,interitationAseTestingEaseTestingEaseTestingEaseTestingEasingAndScalability。

cachingimprovesphpermenceByStorcyResultSofComputationsorqucrouctationsorquctationsorquickretrieval,reducingServerLoadAndenHancingResponsetimes.feftectivestrategiesinclude:1)opcodecaching,whereStoresCompiledSinmememorytssinmemorytoskipcompliation; 2)datacaching datacachingsingMemccachingmcachingmcachings


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。