PHP7新特性

1.zval(变量)使用栈内存

   变量在底层是zval指针,之前php版本通过MAKE_STD_ZVAL动态的从堆内存上分配zval内存,php7使用栈内存分配,从而减少一次内存分配

 

2.使用zend_string存储hash值,array查询不再需要重复计算hash

    之前版本array的key的值每次都要转化成hash值,

    php7为字符串单独创建新类型zend_string保存hash值下次直接使用

 

3.hashtable桶内通过指针直接存储数据,减少内存申请次数

 

4.函数的形参和返回值可以定义类型(int、string、float、bool)

 

5.新增比较运算符<=>

语法:$c = $a <=> $b

如果$a > $b, $c 的值为1

如果$a == $b, $c 的值为0

如果$a < $b, $c 的值为-1

6.新增操作符??

如果变量存在且值不为NULL, 它就会返回自身的值,否则返回它的第二个操作数。
$a = $_GET['A'] ?? 'nobody'

7.define定义常量数组

define('ARR',[1,2])

8.unserialize提供过滤特性,防止非法数据进行代码注入

9.命名空间引用优化

//之前写法
use server\classA;
use server\classB;

//优化写法
use server\{classA,classB}

10.list函数修改,不再按相反顺序赋值

 

参考地址:

https://www.cnblogs.com/songgj/p/10398076.html

https://blog.csdn.net/wuxing26jiayou/article/details/80036963

posted @ 2021-09-12 20:07  事儿爸_董  阅读(51)  评论(0编辑  收藏  举报