1、 (expr1) ?? (expr2) 是 PHP7才有的功能,等同於:
isset(expr1) ? expr1 : expr2 ;
2、(expr1) ?: (expr2) 是PHP5.3才有的功能,等同於以前寫法:
expr1 ? expr1 : expr2; // 但是,?: 這個寫法的前提是 expr1 要已經定義的, 不然就會報undefine錯誤!!
綜上, 只判斷expr1是否定義用 ?? 方便,如果要求判斷expr1非空還是要用到:
!empty(expr1) ? expr1 : expr2;