PHP7三元運算符 ?? 和 ?: 的區別


1、 (expr1) ?? (expr2)  是 PHP7才有的功能,等同於:

isset(expr1) ? expr1 : expr2 ; 

 

2、(expr1) ?: (expr2) 是PHP5.3才有的功能,等同於以前寫法:

expr1 ? expr1 : expr2; // 但是,?: 這個寫法的前提是 expr1 要已經定義的, 不然就會報undefine錯誤!!

 

綜上, 只判斷expr1是否定義用 ??  方便,如果要求判斷expr1非空還是要用到:

empty(expr1) ? expr1 : expr2;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM