PHP7.0至PHP8部分特性总结

article/2025/9/15 6:57:57

PHP7.0特性

2015年6月11日,PHP开发团队宣布将立即提供PHP 7.0.0 Alpha1。此版本标志着PHP 7主要系列的开始。我们有许多原因,应该对PHP7.0感到兴奋,接下来让我们来看一下它全新的语言特性!

  1. 性能:
    PHP7.0采用下一代由PHP核心团队开发的引擎,比传统的Zend引擎快两倍甚至是三倍,同一个框架应用在 PHP 7.0 下的性能比 PHP 5.6 提高了54%,这是一个很显著的性能提升

  2. 新特性

    1、)严格模式
    开启方式

    declare(strict_types = 1);
    
     作用:严格模式下,形参和返回值可加限制	PHP7支持的类型限制分别有:1、字符串(string),2、整数 (int),3、浮点数 (float),4、布尔值 (bool)5、接口(interfaces)6、类(类名)7、数组(array)8、回调(callable)
    

    2、)传参类型约束

    严格模式下,当一个函数被约束了传参类型,传入的数据必须与定义函数时约定的数据类型一致,否则会产生报错。若在非严格模式下,传入非约定的数据类型,则PHP会自动转换成与函数相匹配的数据类型,如下图运行结果所示在这里插入图片描述
    运行结果(非严格模式)
    在这里插入图片描述
    运行结果(严格模式)
    在这里插入图片描述

    3、)返回值类型约束

    非严格模式在这里插入图片描述
    在这里插入图片描述
    严格模式
    在这里插入图片描述
    在这里插入图片描述
    4、)匿名类

    匿名类指的是不具备名字的类,在创建时通过new关键字来实例化它们
    在这里插入图片描述
    5、)闭包类
    关于闭包,这里就不过多阐述,详细请看这篇文章
    https://www.cnblogs.com/one-villager/p/8423097.html

    PHP7.0和5.6的对比写法
    https://www.cnblogs.com/one-villager/p/8423097.html
    运行结果:

    在这里插入图片描述
    6、)发动机(Generator)

    这里的发动机更像把一个方法通过yield变作一个对象并进行遍历,代码并不难理解,这里也不多阐述
    在这里插入图片描述
    运行结果
    在这里插入图片描述
    7、)更优雅的三元表达式

    三元运算符是我最常用的语法糖,而在PHP7中,它变得更优雅,更简洁。快 看下面
    在这里插入图片描述
    运行结果
    在这里插入图片描述

    8、)太空船语法(Space ship operator)

    当左边的数和两边的数相等时,飞船返回0,小于返回-1,大于返回1在这里插入图片描述
    运行结果
    在这里插入图片描述

    9、)Throwable

    Throwable 是 PHP 7 中可以用作任何对象抛出声明的基本接口,包括 Expection (异常)和 Error (错误)。

    在这里插入图片描述
    在这里插入图片描述 10、)目录分级
    在这里插入图片描述
    运行结果
    在这里插入图片描述
    11、)intdiv(整除)
    在这里插入图片描述
    运行结果
    在这里插入图片描述

PHP7.1特性

发布时间:2016.12.1

  1. PHP历代性能对比:
    在这里插入图片描述

  2. 新特性

    1、)可空类型( Nullable Types)

    通过引入 Nullable Types,现在可以从函数返回 null。这个特性在其他语言中已经得到了很好的支持,包括 c # 和 Java。可空类型如下例所示:
    在这里插入图片描述
    运行结果
    在这里插入图片描述
    2、)Void函数( Void Function)

    约束了void类型返回值的函数,可以没有返回值
    在这里插入图片描述
    运行结果
    在这里插入图片描述
    3、)支持键入列表

    在 PHP 7.1中,数组语法([])可用于为赋值而对数组进行重构。这是 list ()语法(也可以使用)的一个很好的替代方法。可以在 foreach 语句中使用此结构进行赋值。
    在这里插入图片描述
    运行结果
    在这里插入图片描述
    4、)负向字符串偏移量
    在这里插入图片描述
    运行结果
    在这里插入图片描述
    5、)多捕获异常处理

    在这里插入图片描述
    6、)常量访问修饰符
    (唠嗑:定义常量常量名都应全部大写)
    在这里插入图片描述

    PHP7.2、7.3特性

    相同版本的wordpress在不同php版本运行的速度对比在这里插入图片描述

    1、)新增object类型

    指定返回对象必须为对象在这里插入图片描述
    因为 PHP 7.2类型提示可以与对象数据类型一起使用,这种改进允许将一个泛型对象声明为函数或方法的参数。下面是一个例子:
    在这里插入图片描述
    输出结果
    在这里插入图片描述

    2、) 全新的Heredoc和 Nowdoc 语法

    Heredoc 语法提供了一种添加大量文本的方法,而不需要转义双引号之类的内容。Heredoc 以 < < < 开头,后面跟着一个标记,以相同的标记结尾,后面跟着一个分号。下面是一个例子:

    在这里插入图片描述

    输出结果
    在这里插入图片描述
    nowdoc和heardoc差不多

    在这里插入图片描述

    在php7.2这个写法是错误的
    在这里插入图片描述
    原因如下:

    1、结束标记不能有缩进
    2、带有结束标记的行不能包含空格或制表符之类的字符
    3、结束标记前的第一个字符必须是换行符
    4、结束标记后面必须跟一个换行符

    很明显,heredoc 和 nowdoc 语法相当严格,但 PHP 7.3可能会对此稍作改进,如下所示。

    使用 PHP 7.3,我们可以使关闭标记前拥有缩进:
    在这里插入图片描述
    但是要小心: 结束标记永远不应该缩进比字符主体更要进一缩进
    具体参见下面代码
    在这里插入图片描述
    这就会报错了

    另外在PHP7.3废除了从结束标记中删除尾随的新行要求

    7.2有效语法:在这里插入图片描述

    7.3有效写法
    在这里插入图片描述

    3、) json函数抛出错误

    json_decode和json_encode这两个函数都不会在出错时停止程序执行

    当因代码业务原因,需要抛出错误,那么可以采用以下方法来捕捉json异常
    在这里插入图片描述

    PHP7.4特性

    1、)变量类型修饰符
    约定变量类型
    在这里插入图片描述
    2、)箭头函数

    知识拓展:首先来看一下array_map的使用

    在这里插入图片描述

在这里插入图片描述

不知道为什么不能在自定义函数使用?。。。。。。

3、)空合并分配运算符(Null coalescing assignment operator)

在这里插入图片描述

3、)拆包

在这里插入图片描述

php8可详细看这篇文章
https://www.cnblogs.com/a609251438/p/13208591.html


http://chatgpt.dhexx.cn/article/4hgnctVL.shtml

相关文章

php8新特性全览【超详细】

题外话&#xff1a; PHP 8.0 是 PHP 语言的重大更新。 它包含许多新功能和优化&#xff0c;包括命名参数、联合类型、属性、构造函数属性提升、匹配表达式、空安全运算符、JIT&#xff0c;以及类型系统、错误处理和一致性方面的改进。 废话不多说&#xff0c;开车 1.便利的命名…

php 7新特性(一):类型的限定

1、标量类型声明&#xff1a; a.默认&#xff1a;以前的弱类型 b.严格&#xff1a;declare(strict_types1) //strict_types的值&#xff08;1或者0&#xff09;&#xff0c;1表示严格类型, 0表示弱类型 可以使用的类型参数有&#xff1a;int float bool string inte…

PHP8所有新特性

PHP 8 正式版即将发布&#xff0c;是时候来看看 PHP 8 即将推出的新特性了 首先来安装PHP8 下载地址 https://www.php.net/downloads 本地编译安装 PHP 8 RC2 版本(MAC操作系统) # 0、下载解压源码 wget https://downloads.php.net/~pollita/php-8.0.0RC2.tar.gz tar zxvf p…

PHP8新特性解读

本文主要内容为解读PHP8.0的主要新特性 解读PHP8特性 前言一、给小皮面板下载PHP8二、部分下载PHP8会出现502解决方案三、介绍特性1. 联合类型2. 匹配表达式3. null安全运算符4. 构造函数属性提升5. 注解6. 命名参数 四、总结 前言 PHP8在2020年11月26日正式发布&#xff0c;又…

PHP 7 新特性

转载自&#xff1a; https://zhuanlan.zhihu.com/p/27694633 https://zhuanlan.zhihu.com/p/27847880 https://zhuanlan.zhihu.com/p/29478077 https://goghcrow.gitbooks.io/php7/content/xin-te-xing.html PHP 7 之前的类型提示 PHP 5.0 首次提出函数参数&#xff08…

php7 新特性整理

PHP7 已经出来1年了&#xff0c;PHP7.1也即将和大家见面&#xff0c;这么多好的特性&#xff0c;好的方法&#xff0c;为什么不使用呢&#xff0c;也希望PHP越来越好。 在这里整理 PHP 5.1 &#xff0c;PHP5.2,PHP5.3,PHP5.4,PHP5.5,PHP5.6 ,PHP7,PHP7.1 所有新特性&#xff0…

PHP 7 新特性 - 收集

前言 最好的语言发布了新的版本&#xff0c;一个划时代的大版本&#xff1a;PHP7。 PHP7修复了大量BUG&#xff0c;新增了功能和语法糖。这些改动涉及到了核心包、GD库、PDO、ZIP、ZLIB等熟悉和不熟悉的核心功能与扩展包。 PHP7移除了已经被废弃的函数&#xff0c;如mysql_系…

PHP7新特性总结

前言 本文是一篇讲座听后&#xff0b;后续研究的总结。 话说当年追时髦&#xff0c;php7一出就给电脑立马装上了&#xff0c;php5和php7共存&#xff0c;也是立马写了个超级耗时间的循环脚本测了一番&#xff0c;确实php7给力很多&#xff0c;然后也是注意了一些新增的特性与一…

搭建图片加密平台,扫码支付后简单获取密码

搭建图片加密平台&#xff0c;扫码支付后简单获取密码 很多人问我&#xff0c;互联网上到底做什么项目是可以赚到钱的&#xff1f;没有基础&#xff0c;不懂技术&#xff0c;不会推广&#xff0c;所以有没有简单一点的&#xff0c;一操作就能上手就能赚钱的&#xff1f;我可以…

java中Base64图片加密解密保存

工具类中的图片解密的代码 /*** base64字符串转图片* param imgStr 图片的base64* param path 将要生成的地址* return*/ public static String generateImage(String imgStr, String path) {//如果图像数据为空 if (imgStr null) {return null;}BASE64Decoder decoder new…

PC微信机器人之实战分析微信图片加密解密

今天主要讨论下微信图片的加密和解密&#xff0c;我们都知道微信接收的图片是加密形式的需要解密&#xff0c;但是这个加密大家都知道是异或。但是怎么异或&#xff0c;跟谁异或呢&#xff1f;这次就是围绕这个来讲的&#xff0c;我们手动计算异或的值&#xff0c;才能彻底明白…

混沌加密算法python_基于混沌Logistic加密算法的图片加密与还原

摘要 一种基于混沌Logistic加密算法的图片加密与还原的方法,并利用Lena图和Baboon图来验证这种加密算法的加密效果。为了能够体现该算法在图片信息加密的效果,本文还采用了普通行列置乱加密算法和像素点的RGB的值的缩放算法这两种算法对相同的图片的图片进行处理,利用matlab…

关于身份证图片加密安全技术

前言 现在的图片都是上传到c d n或者其它第三方服务器上&#xff0c;通过一个url进行访问&#xff0c;非常的方便&#xff0c;方便的同时也带来了另外一个问题&#xff0c;隐私安全问题&#xff0c;比如&#xff1a;好莱坞隐私照片泄漏。 如何保证图片安全 如果发生客户隐私…

blob图片路径加密

目录 一、代码二、效果演示 一、代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>blob图片路径加…

Cocos图片加密与解密

如果cocos项目没有对资源进行加密处理,发布出来的APK一旦被人解包&#xff0c;则所有图片资源都会暴露出来,为了避免图片资源被人恶意使用&#xff0c;所以我准备给自己项目中使用到的图片进行简单加密&#xff0c;这样可以防住一部分解包伸手党。 我们这里采用最常见的异或加…

(在线)实时图片加密

目录 1 功能介绍 2 操作说明 2.1 图片加密 2.1 图片解密 1 功能介绍 图片加密http://eastsun.xyz/sudoku/html/encryptPic.html 该网站主要用于对图片进行在线实时加密,解密 用户可以自定义加密后生成的"文字图片"内容,同时这些文字图片也可以是图片解密的提示信…

python简单的图片加密

欢迎加入我们卧虎藏龙的python讨论qq群&#xff1a;729683466 ●导 语 ● 总有些东西是你不希望别人看到的 比如 你暗恋的女神的照片 要是被别人发现了 那可就尴尬了 所以 来学一学用python加密图片吧&#xff01; 代码及相关资源获取 1&#xff1a;关注“python趣味爱好者”公…

java 图片加密

首先&#xff0c;了解下异或操作 ^ &#xff0c;对一个数进行两次异或操作得到原数值。 public class IOTest {public static void main(String[] args) {int i 3;System.out.println(i^123);//120System.out.println(i^123^123);//3}} 将一张图片进行拷贝&#xff0c;对其进…

用JS实现:图片压缩、图片加密

本文将用JavaScript实现两个颇有技术含量的功能&#xff1a;图片压缩、图片加密。 最终效果&#xff1a;可实现将任意图片加密、压缩&#xff0c;并保存到一个独立的html页面中&#xff0c;输入正确的密码&#xff0c;才能看到原图。 第一步、压缩图片 技术原理 将图片读入c…

python图片水印加密的几种处理方式

常见的图片加密方法包括加密算法、水印、隐藏、压缩等。下面简要介绍一些常见的图片加密方法&#xff1a; 加密算法 加密算法是一种基于数学运算的加密方式&#xff0c;可对图片进行加密处理&#xff0c;使得未经过解密操作的情况下难以被直接读取或显示。常见的加密算法包括对…