详细分析PHP7与PHP5区别


Posted in PHP onJune 26, 2021

1、php标量类型和返回类型声明

#主要分为两种模式,强制性模式和严格模式
declare(strict_types=1)
#1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验模式。

2、NULL合并运算符

$site = isset($_GET['site']) ? $_GET['site'] : 'wo';
#简写成
$site = $_GET['site'] ??'wo';

3、组合预算符

// 整型比较
print( 1 <=> 1);print(PHP_EOL);
print( 1 <=> 2);print(PHP_EOL);
print( 2 <=> 1);print(PHP_EOL);
print(PHP_EOL); // PHP_EOL 为换行符
//结果:
0
-1
1

4、常量数组

// 使用 define 函数来定义数组
define('sites', [
   'Google',
   'Jser',
   'Taobao'
]);

print(sites[1]);

5、匿名类

interface Logger { 
   public function log(string $msg); 
} 

class Application { 
   private $logger; 

   public function getLogger(): Logger { 
      return $this->logger; 
   } 

   public function setLogger(Logger $logger) { 
      $this->logger = $logger; 
   }   
} 

$app = new Application; 
// 使用 new class 创建匿名类 
$app->setLogger(new class implements Logger { 
   public function log(string $msg) { 
      print($msg); 
   } 
}); 

$app->getLogger()->log("我的第一条日志");

6、Closure::call()方法增加,意思向类绑定个匿名函数

<?php 
class A { 
    private $x = 1; 
} 

// PHP 7 之前版本定义闭包函数代码 
$getXCB = function() { 
    return $this->x; 
}; 

// 闭包函数绑定到类 A 上 
$getX = $getXCB->bindTo(new A, 'A');  

echo $getX(); 
print(PHP_EOL); 

// PHP 7+ 代码 
$getX = function() { 
    return $this->x; 
}; 
echo $getX->call(new A); 
?>

7、CSPRNG(伪随机数产生器)。

PHP 7 通过引入几个 CSPRNG 函数提供一种简单的机制来生成密码学上强壮的随机数。

random_bytes() - 加密生存被保护的伪随机字符串。

random_int() - 加密生存被保护的伪随机整数。

8、异常

PHP 7 异常用于向下兼容及增强旧的assert()函数。

9、use 语句改变

#可以导入同一个namespace下的类简写
use some\namespace\{ClassA, ClassB, ClassC as C};

10、Session 选项

//1.session_start()可以定义数组
<?php
session_start(&#91;
   'cache_limiter' => 'private',
   'read_and_close' => true,
]);
?>
//2.引入了一个新的php.ini设置(session.lazy_write),默认情况下设置为 true,意味着session数据只在发生变化时才写入。

11、PHP 7 移除的扩展

  • ereg
  • mssql
  • mysql
  • sybase_ct

为什么 PHP7 比 PHP5 性能提升了?

1、变量存储字节减小,减少内存占用,提升变量操作速度

2、改善数组结构,数组元素和hash映射表被分配在同一块内存里,降低了内存占用、提升了 cpu 缓存命中率

3、改进了函数的调用机制,通过优化参数传递的环节,减少了一些指令,提高执行效率

到此这篇关于详细分析PHP7与PHP5区别的文章就介绍到这了,更多相关PHP7与PHP5区别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
将数字格式的计算结果转为汉字格式
Oct 09 PHP
怎样在UNIX系统下安装MySQL
Oct 09 PHP
smarty静态实验表明,网络上是错的~呵呵
Nov 25 PHP
PHP 魔术函数使用说明
May 14 PHP
php中获取指定IP的物理地址的代码(正则表达式)
Jun 23 PHP
php在程序中将网页生成word文档并提供下载的代码
Oct 09 PHP
php实现的获取网站备案信息查询代码(360)
Sep 23 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
Oct 11 PHP
如何在Laravel之外使用illuminate组件详解
Sep 20 PHP
PHP数组实际占用内存大小原理解析
Dec 11 PHP
laravel添加角色和模糊搜索功能的实现代码
一文搞懂php的垃圾回收机制
PHP中strval()函数实例用法
Jun 07 #PHP
使用php的mail()函数实现发送邮件功能
PHP实现rar解压读取扩展包小结
Jun 03 #PHP
详解Laravel制作API接口
May 31 #PHP
浅谈PHP7中的一些小技巧
May 29 #PHP
You might like
php实现jQuery扩展函数
2009/10/30 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
2013/06/21 PHP
php的mssql数据库连接类实例
2014/11/28 PHP
学习php开源项目的源码指南
2014/12/21 PHP
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
JS 分号引起的一段调试问题
2009/06/18 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
ES6中如何使用Set和WeakSet
2016/03/10 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
layui select获取自定义属性方法
2018/08/15 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
大班亲子运动会方案
2014/06/10 职场文书
优秀教师先进材料
2014/12/16 职场文书
工作证明书
2015/06/15 职场文书
素质拓展训练感想
2015/08/07 职场文书