php7和php5区别有哪些

#主要分为两种模式,强制性模式和严格模式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-11

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([
   '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、改进了函数的调用机制,通过优化参数传递的环节,减少了一些指令,提高执行效率

原创文章,作者:SGJKZ,如若转载,请注明出处:http://www.wangzhanshi.com/n/6872.html

(0)
SGJKZ的头像SGJKZ
上一篇 2025年1月1日 16:34:38
下一篇 2025年1月1日 16:34:41

相关推荐

  • php7抛出异常的方法

    PHP 7 改变了大多数错误的报告方式。不同于 PHP 5 的传统错误报告机制,现在大多数错误被作为 Error 异常抛出。 这种 Error 异常可以像普通异常一样被 try /…

    2025年1月1日
  • 使用PHP实现图片上传接口的实例代码

    引言 在Web开发中,图片上传是一个常见的功能。无论是用户头像的上传,还是内容的图片插入,都需要使用到图片上传的功能。在这篇文章中,我们将详细介绍如何使用PHP实现图片上传接口。 …

    php 2024年12月17日
  • php5和php7垃圾回收上有什么的区别?

    php5和php7垃圾回收上的区别 PHP5和PHP7的垃圾回收机制都属于引用计数,但是在复杂数据类型的算法处理上:PHP7中zval有了新的实现方式。 最基础的变化就是 *zva…

    2025年1月1日
  • 怎么在CentOS78中安装PHP7

    1. CentOS7的默认PHP版本是PHP5,但是如果我们要安装PHP7,不需要将现有的PHP5删除,只要将PHP升级到PHP7即可。 使用 yum provides php 命…

    php 2025年1月1日
  • PHP5.2.x至PHP8.0.x版本升级新增特性

    PHP 8之所以具有出色的性能,是因为它引入了JIT编译器、优化了函数调用和数组操作、引入了新的数据结构和算法,并修复和优化了一些内部实现细节。这些改进使得PHP 8在执行速度和内…

    php 2024年12月17日
  • Ubuntu系统安装php7的步骤

    Ubuntu 16.04官方源自带PHP7,所以可以直接使用apt-get来安装。 1、安装PHP7以及常用扩展。 sudo apt-get install php7.0-fpm …

    2025年1月1日
  • 如何在Linux下安装php7

    Linux下安装php7的方法:首先安装依赖包,并下载解压安装包;然后检查环境的依赖关系,并编译安装;接着将【php.ini-production】改名为【php.ini】;最后复…

    php 2025年1月1日
  • php7与php5有哪些区别

    PHP开发环境搭建工具有哪些 一、phpStudy,是一个新手入门最常用的开发环境。二、WampServer,WampServer也同样的也是和phpStudy一样操作简单对小白比…

    php 2025年1月1日
  • php7显示错误

    1.vim查找php.ini中的display_errors,设置On,保存退出2.命令行执行 # killall php-fpm3.重启php-fpm

    php 2025年1月1日
  • PHP利用FFmpeg实现获取远程视频的时长和截图

    突然发现 FFmpeg 这个软件还可以直接拉取远程视频的相关信息,也就是可以不通过下载视频到本地的方式,直接远程去获取视频时长和截图。 假设我们的视频url是:http://my.…

    php 2024年12月17日

发表回复

登录后才能评论