位置: 编程技术 - 正文

PHP 7.1新特性的汇总介绍(php8.0 特性)

编辑:rootadmin

推荐整理分享PHP 7.1新特性的汇总介绍(php8.0 特性),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php8.0 特性,php7.0新特性,php7.0新特性,php7.0新特性,php7的新特性有哪些,php 7.4新特性,php 7.4新特性,php7.3新特性,内容如对您有帮助,希望把文章链接给更多的朋友!

一、可空类型

可空类型主要用于参数类型声明和函数返回值声明。

主要的两种形式如下:

从例子很容易理解,所指的就是通过 &#; 的形式表明函数参数或者返回值的类型要么为指定类型,要么为 null。

此方法也可用于接口函数的定义:

但有一个需要注意的地方:如果函数本身定义了参数类型并且没有默认值,即使是可空的,也不能省略,否则会触发错误。如下:

但是如果以上函数的参数定义为 &#;Bar $bar = null 的形式,则第三种写法也是可行的。因为 = null 实际上相当于 &#; 的超集,对于可空类型的参数,可以设定 null 为默认值。

二、list 的方括号简写

我们知道在 PHP5.4 之前只能通过 array() 来定义数组,5.4之后添加了 [] 的简化写法(省略了5个字符还是很实在的)。

引申到另外一个问题上,如果我们要把数组的值赋值给不同的变量,可以通过 list 来实现:

是否也可以通过 [] 的简写来实现呢?

以及下一个特性中会提到的 list 指定 key:

PHP7.1 实现了这个特性。但是要注意的是:出现在左值中的 [] 并不是数组的简写,是 list() 的简写。

但是并不仅仅如此,新的 list() 的实现并不仅仅可以出现在左值中,也能在 foreach 循环中使用:

不过因为实现的问题,list() 和 [] 不能相互嵌套使用:

三、允许在 list 中指定 key

上文提到过,新的 list() 的实现中可以指定key:

这也就相当于:

PHP 7.1新特性的汇总介绍(php8.0 特性)

和以往的区别在于以往的 list() 的实现相当于 key 只能是 0, 1, 2, 3 的数字形式并且不能调整顺序。执行以下语句:

会得到 PHP error: Undefined offset: 0... 的错误。

而新的实现则可以通过以下方式来调整赋值:

不同于数组的是,list 并不支持混合形式的 key,以下写法会触发解析错误:

更复杂的情况,list 也支持复合形式的解析:

以及循环中使用:

四、void 返回类型

PHP7.0 添加了指定函数返回类型的特性,但是返回类型却不能指定为 void,7.1 的这个特性算是一个补充:

以下两种情况都可以通过验证:

定义返回类型为 void 的函数不能有返回值,即使返回 null 也不行:

此外 void 也只适用于返回类型,并不能用于参数类型声明,或者会触发错误:

类函数中对于返回类型的声明也不能被子类覆盖,否则会触发错误:

五、类常量属性设定

这个特性说起来比较简单,就是现在类中的常量支持使用 public、private 和 protected 修饰了:

此外,接口(interface)中的常量只能是 public 属性:

为了应对变化,反射类的实现也相应的丰富了一下,增加了 getReflectionConstant 和 getReflectionConstants 两个方法用于获取常量的额外属性:

六、多条件 catch

在以往的 try ... catch 语句中,每个 catch 只能设定一个条件判断:

新的实现中可以在一个 catch 中设置多个条件,相当于或的形式判断:

对于异常的处理简化了一些。

总结

标签: php8.0 特性

本文链接地址:https://www.jiuchutong.com/biancheng/296377.html 转载请保留说明!

上一篇:浅谈PHP命令执行php文件需要注意的问题(php常用命令)

下一篇:简单解决微信文章图片防盗链问题(简单解决微信文案的方法)

  • etc扣费与发票不符
  • 银行对账单由谁去取
  • 金融服务担保费会计处理
  • 企业收到的政府补贴交所得税吗
  • 外地预交的附加税金在申报的时候怎么填
  • 金蝶以前年度损益调整属于哪类科目
  • 交房前是否需要给房产局交房租维修费
  • 多计提的应收账款如何调整
  • 公司配股后,会迅速提高公司股票市价
  • 医院的固定资产是由财务负责的吗?
  • 企业对无法收回的应收账款应借记的会计科目是
  • 承兑汇票银行背书
  • 易票365怎么认证发票
  • 残保金补报
  • 整体购买企业资产涉及哪些税
  • 销售不动产增值税计税依据
  • 毛利润和纯利润的计算公式
  • 支付青苗补偿费怎么做账
  • 生产人员社保计入哪个科目
  • 个体工商户的专票可以抵扣吗
  • 待处理财产损益期末结转到哪里
  • 培训费开发票明细为会议费如何做账?
  • uefi模式怎么装机
  • win11怎么回到10
  • 发工资和扣社保的区别
  • Win10 Build 18363.1350/17763.1728累积更新补丁KB4598298正式推送
  • php操作mysql数据库
  • 收到押金缴国库费怎么办
  • linux cls命令
  • 境外所得抵扣税怎么申报
  • 购买财务软件申请怎么写
  • 境外代扣代缴企业所得税的计税依据包含企业所得税嘛
  • 基建项目和工程项目区别
  • 一公顷等于多少千米
  • PHP:imagefontheight()的用法_GD库图像处理函数
  • PHP:imagedashedline()的用法_GD库图像处理函数
  • 存货的盘亏损毁和报废
  • php redis常用命令
  • 位于阿曼和迪拜的大学
  • php如何实现分页功能
  • react框架结构
  • 中药饮片适用增值税税率
  • 支付职工教育经费
  • 修改Laravel5.3中的路由文件与路径
  • 国有资产划转实施方案
  • 出差托运行李公司报销吗
  • 对公账号里面的钱会扣税吗
  • 公司交公积金可以上调吗
  • 增值税发票没有抵扣联能作废吗
  • 企业所得税的征税对象和纳税人分别负有的纳税义务
  • 应付劳务费怎么做账
  • 材料的采购成本构成
  • 会计估计变更和政策变更有哪些
  • 检验费用会计分录
  • 查定征收在哪一章
  • 配电箱安装步骤及要求
  • 苗木免税吗
  • 现金收账凭证
  • 无需缴纳的税费是什么
  • 银行承兑到期后怎么兑现
  • innodb 结构
  • mysql 模型
  • xp系统没有鼠标自己乱跳
  • Ubuntu10.10 Zend FrameWork配置方法及helloworld显示
  • linux vim
  • Win10中文输入法不能用
  • 有没有软件恢复
  • qctray.exe - qctray进程 是什么文件 作用是什么
  • iconv.exe
  • win8的显示设置
  • win8开机自启动在哪里设置
  • windows下用CMD调用COM口
  • vlc录制没反应
  • unity3d人物模型
  • 使用jquery实现的项目
  • [置顶]马粥街残酷史
  • 建筑施工企业研发中心建设
  • 土地面积测量
  • 注册海外公司如何注册
  • 全国城管改革什么时候结束
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设