位置: 编程技术 - 正文

PHP 7.0新增加的特性介绍(php new)

编辑:rootadmin

推荐整理分享PHP 7.0新增加的特性介绍(php new),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php7.0新特性,php新建项目,php new,php new,php怎么新建,php添加,php添加,php添加,内容如对您有帮助,希望把文章链接给更多的朋友!

&#;&#; 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用。用法: $a = $_GET['a'] &#;&#; 1;它相当于: <&#;PHP $a = isset($_GET['a']) &#; $_GET['a'] : 1; 我们知道三元运算符是可以这样用的: $a &#;: 1但是这是建立在 $a 已经定义了的前提上。

&#;&#; 运算符(NULL 合并运算符)

把这个放在第一个说是因为我觉得它很有用。用法:

$a = $_GET['a'] &#;&#; 1; 它相当于:

<&#;php $a = isset($_GET['a']) &#; $_GET['a'] : 1; 我们知道三元运算符是可以这样用的:

$a &#;: 1 但是这是建立在 $a 已经定义了的前提上。新增的 &#;&#; 运算符可以简化判断。

1.函数返回值类型声明

官方文档提供的例子(注意 ... 的边长参数语法在 PHP 5.6 以上的版本中才有):

<&#;php function arraysSum(array ...$arrays): array { return array_map(function(array $array): int { return array_sum($array); }, $arrays); } print_r(arraysSum([1,2,3], [4,5,6], [7,8,9])); 从这个例子中可以看出现在函数(包括匿名函数)都可以指定返回值的类型。

这种声明的写法有些类似于 Swift:

func sayHello(personName: String) -> String { let greeting = "Hello, " + personName + "!" return greeting } 这个特性可以帮助我们避免一些 PHP 的隐式类型转换带来的问题。在定义一个函数之前就想好预期的结果可以避免一些不必要的错误。

不过这里也有一个特点需要注意。PHP 7 增加了一个 declare 指令:strict_types,既使用严格模式。

使用返回值类型声明时,如果没有声明为严格模式,如果返回值不是预期的类型,PHP 还是会对其进行强制类型转换。但是如果是严格模式, 则会出发一个 TypeError 的 Fatal error。

强制模式:

PHP 7.0新增加的特性介绍(php new)

<&#;php function foo($a) : int { return $a; } foo(1.0); 以上代码可以正常执行,foo 函数返回 int 1,没有任何错误。

严格模式:

PHP Fatal error: Uncaught TypeError: Return value of foo() must be of the type integer, float returned in test.php:6

在声明之后,就会触发致命错误。

是不是有点类似与 js 的 strict mode?

标量类型声明

PHP 7 中的函数的形参类型声明可以是标量了。在 PHP 5 中只能是类名、接口、array 或者 callable (PHP 5.4,即可以是函数,包括匿名函数),现在也可以使用 string、int、float和 bool 了。

官方示例:

需要注意的是上文提到的严格模式的问题在这里同样适用:强制模式(默认,既强制类型转换)下还是会对不符合预期的参数进行强制类型转换,严格模式下则触发 TypeError 的致命错误。

1.use 批量声明

PHP 7 中 use 可以在一句话中声明多个类或函数或 const 了:

需要留意的问题是:如果你使用的是基于 composer 和 PSR-4 的框架,这种写法是否能成功的加载类文件?其实是可以的,composer 注册的自动加载方法是在类被调用的时候根据类的命名空间去查找位置,这种写法对其没有影响。

其他的特性

其他的一些特性我就不一一介绍了,有兴趣可以查看官方文档: 5.3 开始有了匿名函数,现在又有了匿名类了; define 现在可以定义常量数组; 闭包( Closure)增加了一个 call 方法; 生成器(或者叫迭代器更合适)可以有一个最终返回值(return),也可以通过 yield from 的新语法进入一个另外一个生成器中(生成器委托)。 生成器的两个新特性(return 和 yield from)可以组合。具体的表象大家可以自行测试。PHP 7 现在已经到 RC5 了,最终的版本应该会很快到来。

以上所述是小编给大家介绍的PHP 7.0新增加的特性介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

php显示页码分页类的封装 本文实例为大家分享了php封装显示页码的分页类,供大家参考,具体内容如下一、代码conn.phpphpclassMysql{publicfunction__construct(){$this-connect();}publicfunctionconne

php封装一个异常的处理类 本文实例为大家分享了php自定义异常处理类,供大家参考,具体内容如下一、代码!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""

php面向对象的用户登录身份验证 本文实例为大家分享了php用户登录身份验证的具体代码,供大家参考,具体内容如下一、代码conn.phpphp$conn=newcom("adodb.connection");$connstr="driver={microsoftaccess

标签: php new

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

上一篇:laravel 5.1下php artisan migrate的使用注意事项总结

下一篇:php显示页码分页类的封装(php分页页码动态的实现)

  • 未认证的进项税能做转出处理吗
  • 外部审计内容是什么
  • 会计科目长期待摊费用跟累计折旧分别是什么意思
  • 研发费用成本化和费用化
  • 其他应收款怎样做平
  • 超过缴款期限缴纳税款
  • 购买固定资产是费用吗
  • 车间管理人工资计入什么科目
  • 机械租赁有哪些岗位
  • 让渡资产使用权收入计入什么科目
  • 金税盘技术服务费可以全额抵扣吗
  • 一般纳税人出售固定资产税率
  • 企业合并以外
  • 农产品一般纳税人免税吗
  • 一般纳税人进项税额转出会计分录
  • 民办非企业是否可以出资设立公司
  • 航天信息300元是什么费用
  • 应征增值税不含税销售额是什么意思
  • 固定资产原值变更当月计提折旧
  • 购销合同印花税按70%
  • 收到老板的钱会计分录
  • 收到加盟费怎么入账
  • 以前年度损益调整
  • 公司法人的车租赁合法吗
  • 内含报酬率概念
  • win11透明任务栏怎么设置
  • scdeploy.exe
  • 增值税发票红冲后税款怎么办
  • wordpress 中文版和国际版区别
  • 未开票收入以后必须开票吗
  • 履约保证金和质保金可以一起收取吗
  • 非营利组织所得税申报
  • curl命令上传文件到服务器
  • 合并会计报表的编制
  • 与取得收入无关的费用支出可以扣除吗
  • 企业贷款利息是多少
  • 固定资产折旧率如何计算
  • 代开专票时缴纳的增值税账务处理如何做?
  • mysql转数字为字符串
  • mongodb用法
  • 代扣代缴完税凭证抵扣期限
  • 利润减负债
  • 小规模纳税人利润表季报
  • 企业注册资本的规定
  • 账务处理的种类有哪些
  • 应交税费的账务处理一般纳税人
  • 小规模防伪税控服务费多少钱
  • 亏损做t计算方法
  • 进项税额已经抵扣会计分录
  • 新收入准则按照期间确认收入
  • 提取法定盈余公积金会计分录
  • 募集资金有哪些渠道
  • 带息票据为什么是贷财务费用
  • 什么时候用以前年度损益调整科目什么时候用所得税科目
  • 行政事业单位固定资产入账标准最新规定
  • 未达起征点可以申请一次性创业补贴吗
  • 速动比率特别高的原因
  • mysql数据存在内存还是硬盘
  • ubuntu 管理软件
  • 桌面上的软件是什么
  • linuxsleep函数
  • win8怎么切换hdmi
  • win102020h2版本
  • linux cut-c
  • 用什么命令最简单
  • 实例讲解命局与大运流年作用
  • 怎么配置nodejs
  • Android 使用mp4做礼物特效
  • jquery easyui有哪些特点
  • 基于nodejs的项目
  • python第三方库在哪下载
  • android网络请求时怎么取消
  • JavaScript中的数据类型分哪为两大类?
  • 深入浅析是什么意思
  • android系统内核基于什么操作系统?
  • android view类
  • 一般纳税人出售房产怎么开票
  • 文化事业建设税减免政策2023
  • 增值税消费税申报比对不符怎么办
  • 买高档手表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设