PHP7新特性

据说,PHP7的新能有了较大的提升.不仅如此PHP7的升级可以给我带来更多新特性!
首先介绍一些常用的新特性.

null合并运算

$username = $_GET['user'] ?? 'nobody';
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

上述两个代码是等价的??提供了相当方便的操作,如果不空返回自己,如果为空则返回’nobody’.

返回类型声明

这个的确比较常用,这可以让我们更好、更方便、上升到语言层面去定义返回的类型.之前是用文档去标记返回类型.只需要在相应的函数、方法、闭包后面加入: 类型即可

function arraysSum(array ...$arrays): array
{
    return array_map(function(array $array): int {
        return array_sum($array);
    }, $arrays);
}

define定义常量数组

这个就比较重要了,之前的常量都是义字符串为主.

define('ANIMALS', [
    'dog',
    'cat',
    'bird'
]);

echo ANIMALS[1]; // outputs "cat"

不起眼但很实用intdiv()

与除法运算相比之下,intdiv()直接返回一个整数结果.一个小函数给开发带来了方便.

Unicode语法转译

这接受16进制形式的Unicode codepoint,并打印出一个UTF-8编码格式的字符,并且开头的0是省略的.

echo "\u{aa}";

a

标量类型的声明

此举进一步加深了对PHP类型声明的限定.由注释文档层次,到语言层级提高了代码的可读性.

无论是强制模式还是严格模式,可以使用以下声明:
int 整数
string 字符串
float 浮点数

其他新的特性

匿名类:说实话用的比较少,对代码的组织结构有一定的影响.
太空船操作符:用于比较两个表达式.沿用的是常规比较规则.
IntlChar:新增加的 IntlChar 类旨在暴露出更多的 ICU 功能。这个类自身定义了许多静态方法用于操作多字符集的 unicode 字符。
assert:预期,预期是向后兼用并增强之前的 assert() 的方法。 它使得在生产环境中启用断言为零成本,并且提供当断言失败时抛出特定异常的能力。
use 导入
使用use可以一次性导入函数与常量

use function some\namespace\{fn_a, fn_b, fn_c};

其余的新特性不在这里做介绍.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值