详细分析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 相关文章推荐
服务器端解压缩zip的脚本
Dec 22 PHP
基于PHP常用字符串的总结(待续)
Jun 07 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
Jun 12 PHP
PHP中捕获超时事件的方法实例
Feb 12 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
php实现随机显示图片方法汇总
May 21 PHP
php算法实例分享
Jul 14 PHP
基于PHP后台的Android新闻浏览客户端
May 23 PHP
PHP编程计算文件或数组中单词出现频率的方法
May 22 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
phpcmsv9.0任意文件上传漏洞解析
Oct 20 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递归json类实例
2014/12/02 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
js实现分割上传大文件
2016/03/09 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
js调用父框架函数与弹窗调用父页面函数的简单方法
2016/11/01 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
python解析xml文件操作实例
2014/10/05 Python
github配置使用指南
2014/11/18 Python
python使用Tesseract库识别验证
2018/03/21 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
np.random.seed() 的使用详解
2020/01/14 Python
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
巴西网上药房:onofre
2016/11/21 全球购物
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
外贸业务员工作职责
2014/01/06 职场文书
安全教育感言
2014/03/04 职场文书
艺术教育实施方案
2014/05/03 职场文书
整改报告怎么写
2014/11/06 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫