• 展开微博窗口
  • QQ:365182575
  • 微信:cighsen
  • 展开分类目录
Nearnet

PHP7 引入的“??” 和“?:”的区别

  $a ?? 0 等同于 isset($a) ? $a : 0。

  $a ?: 0 等同于 $a ? $a : 0。

 

  解析:

  empty: 判断一个变量是否为空(null、false、00、0、’0′、』这类,都会返回true)。

  isset: 判断一个变量是否设置(值为false、00、0、’0′、』这类,也会返回true)。

 

  例:$site = $_GET['site'] ?? $_POST['site'] ?? '我来定';
 

  注意:php7.2以下版本无效。

码字很辛苦,转载请注明来自NAERENET《PHP7 引入的“??” 和“?:”的区别》