一只大脸猫博客主要分享PHP开发技巧、Web前端技术、网站优化、网站排名、修电脑、心灵鸡汤等一些生活中遇到的事、道理和技巧。分享更多知识给身边的朋友。
一只大脸猫博客主要分享PHP开发技巧、Web前端技术、网站优化、网站排名、修电脑、心灵鸡汤等一些生活中遇到的事、道理和技巧。分享更多知识给身边的朋友。

PHP 7 新特性二 Null coalescing operator(空合并运算符)


在PHP 7中,引入了一个新的特性,即空合并运算符(??)。它用于与isset()函数一起替换三元运算。该空如果它存在,而不是空合并运算符返回第一个操作数; 否则返回第二个操作数。

PHP 7中引进了空合并运算符(??),空值合并运算符,英文名叫the null coalescing operator,符号为两个英文问号写作(??),语法形如 $a = $b ?? $c; 意思是如果变量 $b 已经定义,并且没有被注销删除,并且不为null, 就将 $b 的值赋给变量 $a, 否则将变量 $c 的值赋给变量 $a.

$a = $b ?? $c; 相当三元运算的 $a = isSet($b) ? $b : $c;

或者条件结构运算

注意:PHP null合并运算符??前面的变量不存在时不会报错,但如果??后面的变量不存在,则会触发E_NOTICE级别的错误。PHP可空合并运算符的“空”特指null,不是其他能够让empty()返回true的false, '', array()等变量值。如果一个变量$v被赋值为null, isSet($v)返回false, 所以上例不需要判断$b和null的关系。

<?php
   // //获取$ _GET ['user']的值并返回'not passed'
   // 判断有没有传递用户名
   $username = $_GET['username'] ?? 'not passed';
   var_dump($username);
   echo "<br/>";

   // 使用三元运算符的等效代码
   $username = isset($_GET['username']) ? $_GET['username'] : 'not passed';
   var_dump($username);
   echo "<br/>";
   // 使用"??"链接使用
   $username = $_GET['username'] ?? $_POST['username'] ?? 'not passed';
   var_dump($username);
   //它产生以下浏览器输出 -

    //not passed
    //not passed
    //not passed

使用空合并运算有利于代码简介等等功效。


PHP 7 新特性二 Null coalescing operator(空合并运算符):https://yzdlm.com/index.php/php/10.html

作者:大脸猫 分类: 大脸猫PHP博客


上一篇:PHP 7新特性一 Short closures 短闭包 下一篇:PHP 7 新特性三 Traits

评论


乖,登录后才可以留言!
QQ一键登录

相关文章

0、2021-01-13——PHP中常用的魔术方法
1、2020-12-21——PHP中的「abstract」关键词「抽象」
2、2020-11-11——PHP 保留关键词列表
3、2020-10-21——构造函数在php中的使用方法
4、2020-10-21——PHP面向对象的魔术方法有哪些?
5、2020-06-07——PHP丨PHP基础知识之流程控制WHILE循环「理论篇」
6、2019-09-14——Zend创始人提议创建PHP方言,暂命名为P++
7、2019-07-20——composer如何安装?
8、2019-07-18——Composer -- PHP依赖管理的新时代
9、2019-07-17——PHP 开发者该知道的 5 个 Composer 小技巧
10、2019-06-12——PHP 7新特性五 Spread operator(数组延展操作符)
11、2019-06-01——为什么大家总喜欢黑PHP?PHP到底做错了什么
12、2019-05-24——PHP 7新特性四 Typed properties (属性类型化)
13、2019-05-24——PHP 7 新特性三 Traits
14、2019-05-23——PHP 7 新特性二 Null coalescing operator(空合并运算符)
15、2019-05-23——PHP 7新特性一 Short closures 短闭包
16、2019-05-22——在线编辑器实现代码高亮展示
17、2019-05-21——PHP早已不是十年前的鸟样
Top