1.默认模式下,所有的php文件处于弱类型校检模式:强制模式,严格模式 .
2.新增加的 NULL 合并运算符(??)是用于执行isset()检测的三元运算的快捷方式。
$site = isset($_G);
3.组合运算符(太空船运算符):用于比较两个表达式 $a 和 $b,如果 $a 小于、等于或大于 $b时,它分别返回-1、0或1。
4.对于常量数组的定义:
5.6通过const定义常量数组,php7通过define()来定义. eg:define('sites',['weigng','shijuan','liuhulan']);
print_r(sites[1]);
5.支持通过 new class 来实例化一个匿名类,这可以用来替代一些"用后即焚"的完整类定义。
6.PHP 7 的 Closure::call() 有着更好的性能,将一个闭包函数动态绑定到一个新的对象实例并调用执行该函数。
7.PHP 7 增加了可以为 unserialize() 提供过滤的特性,可以防止非法数据进行代码注入,提供了更安全的反序列化数据。
CSPRNG(Cryptographically Secure Pseudo-Random Number Generator,伪随机数产生器)。
PHP 7 通过引入几个 CSPRNG 函数提供一种简单的机制来生成密码学上强壮的随机数
random_bytes()-加密生存被保护的伪随机字符串。
random_int()-加密生存被保护的为随机整数.
8.异常用于向下兼容及增强旧的assert()函数。它能在生产环境中实现零成本的断言,并且提供抛出自定义异常及错误的能力。
老版本的API出于兼容目的将继续被维护,assert()现在是一个语言结构,它允许第一个参数是一个表达式,而不仅仅是一个待计算的 string或一个待测试的boolean。
9.可以使用一个 use 从同一个 namespace 中导入类、函数和常量:
10. intdiv() 函数,接收两个参数,返回值为第一个参数除于第二个参数的值并取整
11.
session_start()函数可以接收一个数组作为参数,可以覆盖php.ini中session的配置项。
这个特性也引入了一个新的php.ini设置(session.lazy_write),默认情况下设置为 true,意味着session数据只在发生变化时才写入。
除了常规的会话配置指示项, 还可以在此数组中包含 read_and_close 选项。如果将此选项的值设置为 TRUE, 那么会话文件会在读取完毕之后马上关闭, 因此,可以在会话数据没有变动的时候,避免不必要的文件锁。
实例
把cache_limiter设置为私有的,同时在阅读完session后立即关闭。
实例
<?php
session_start([
'cache_limiter' => 'private',
'read_and_close' => true,
]);
?>
12.移除的一些扩展。