• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP7.0和7.1 部分新增特性备忘代码分享

php 搞代码 3年前 (2022-01-22) 20次浏览 已收录 0个评论
文章目录[隐藏]

以下分别备忘 PHP 7.0 & 7.1 版本的部分新增特性。

PHP 7.0

?? 运算符

$foo = null;$bar = $foo ?? 123;// 相当于 $bar = isset($bar) ? $bar : 123

参数类型、返回类型与严格模式

// 在严格模式下,传参类型不匹配会抛出错误declare(strict_types=1);function fn(int $a) : int{    echo $a;}fn(1.2);

组合比较符

二者相等时返回 0;

前者大于后者返回 1;
后者大于前者返回 -1;

var_dump($a <=> $b);
$a = 0;$b = "abc";var_dump($a <=> $b);// 注意,字符串在与数字比较时会被当作 0;

含有返回值的生成器

function generator(){    yield 1;    yield 2;    return "a";}$generator = generator();foreac<em>¥本文来%源[email protected]搞@^&代*@码)网5</em><strong>搞gaodaima代码</strong>h ($generator as $val) {    var_dump($val);}var_dump($generator->getReturn());

当没有返回值而使用 $generator->getReturn() 时,会返回 null。而且,在生成器没有输出完全时,使用 $generator->getReturn() 会报错。

function generator(){    yield 1;    yield 2;    return "a";}$generator = generator();var_dump($generator->current());var_dump($generator->next());var_dump($generator->getReturn()); // 报错var_dump($generator->current());var_dump($generator->next());

定义常量数组

define('COLORS', ['red', 'blue', 'black']);echo COLORS[1];  // red

多 use 声明

use some\namespace\{ClassA, ClassB, ClassC as C};use function some\namespace\{fn_a, fn_b, fn_c};use const some\namespace\{ConstA, ConstB, ConstC};

数组解构

list($a, $b) = ["a", "b"];

PHP 7.1

JIT

JIT, just in time. 运行时将部分指令转为机器码。对于计算密集型应用有较高的性能提升。

可选参数类型

function(?string $name){    var_dump($name);}// 传参类型为 string 或 null

注意与默认参数值的区别:

function(string $name = "default-name"){    var_dump($name);}

数组解构

[$a, $b] = ["a", "b"];

iterable & callable 伪类类型

使用 callable 类型代表传参类型为可调用的类型( 函数、实现了 invoke 的类实例 );

使用 iterable 类型限制传参类型为可迭代类型( 数组、实现了 Iterator 或 Traversable 接口的类实例 );

多异常类型捕获

try {    } catch (OneException | AnotherException $e) {    }

以上就是PHP7.0和7.1 部分新增特性备忘代码分享的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP7.0和7.1 部分新增特性备忘代码分享

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址