php addac,php7 新增特性 - acclea的个人空间 - OSCHINA - 中文开源技术交流社区

组合比较符

太空船操作符使用 <=> 表示,用于比较两个表达式。当 $a 小于、等于或大于 $b 时它分别返回-1、0或1。

NULL合并运算符

NULL 合并运算符使用 ?? 表示,意味着如果 ?? 之前的变量存在且值不为 NULL,它就会返回自身的值,否则返回 ?? 后的操作数。

返回值类型声明

PHP 7 增加了对返回类型声明的支持。 类似于参数类型声明,返回类型声明指明了函数返回值的类型。以下类型可以用来作为返回类型声明。

int 、float、 bool、 string、 interfaces、 array、 callable

示例 - 有效的返回类型

declare(strict_types = 1);

function returnIntValue(int $value): int {

return $value;

}

print(returnIntValue(5));

?>

这将在浏览器产生输出以下结果-

5

示例 - 无效的返回类型(声明类型后,int与float无法进行计算)

declare(strict_types = 1);

function returnIntValue(int $value): int {

return $value + 1.0;

}

print(returnIntValue(5));

?>

这将在浏览器产生输出以下结果-

Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned...

通过 define() 定义常量数组

Array 类型的常量现在可以通过 define() 来定义。在 PHP5.6 中仅能通过 const 定义。

define('ANIMALS', [

'dog',

'cat',

'bird'

]);

echo ANIMALS[1]; // 输出 "cat"

Unicode codepoint 转译语法

这接受一个以16进制形式的 Unicode codepoint,并打印出一个双引号或heredoc包围的 UTF-8 编码格式的字符串。 可以接受任何有效的 codepoint,并且开头的 0 是可以省略的。

Closure::call()    现在有着更好的性能,简短干练的暂时绑定一个方法到对象上闭包并调用它。

新增加的 IntlChar 类旨在暴露出更多的 ICU 功能。这个类自身定义了许多静态方法用于操作多字符集的 unicode 字符。

printf('%x', IntlChar::CODEPOINT_MAX);

echo IntlChar::charName('@');

var_dump(IntlChar::ispunct('!'));

以上例程会输出:

10ffff

COMMERCIAL AT

bool(true)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值