您现在的位置是:首页 > PHP框架交流PHP框架交流
PHP8.0新特性(6) Nullsafe 字符串与数字的比较更符合逻辑 Nullsafe operator
上善若水2024-03-05 10:41:44【PHP框架交流】 655人已围观
简介1.Nullsafe 运算符 $country = null; if ($session !== null) { $user = $session->user; if ($user !=
1.Nullsafe 运算符
$country = null;
if ($session !== null) {
$user = $session->user;
if ($user !== null) {
$address = $user->getAddress();
if ($address !== null) {
$country = $address->country;
}
}
}
新版写法:现在可以用新的 nullsafe 运算符链式调用,而不需要条件检查 null。 如果链条中的一个元素失败了,整个链条会中止并认定为 Null。
$country = $session?->user?->getAddress()?->country;
2.符串与数字的比较更符合逻辑 PHP 8 比较数字字符串(numeric string)时,会按数字进行比较。 不是数字字符串时,将数字转化为字符串,按字符串比较。
0 == 'foobar' // true PHP7
0 == 'foobar' // false PHP8
3.内部函数类型错误的一致性 现在大多数内部函数在参数验证失败时抛出 Error 级异常。
PHP7
strlen([]); // Warning: strlen() expects parameter 1 to be string, array given
array_chunk([], -1); // Warning: array_chunk(): Size parameter expected to be greater than 0
PHP8
strlen([]); // TypeError: strlen(): Argument #1 ($str) must be of type string, array given
array_chunk([], -1); // ValueError: array_chunk(): Argument #2 ($length) must be greater than 0
4.其他函数变化
新增str_starts_with
str_ends_with
str_contains
移除函数each
#[Deprecated(reason: “Use a foreach loop instead”, since: “7.2”)]create_function
#[Deprecated(reason: “Use anonymous functions instead”, since: “7.2”)]
很赞哦! (0)
下一篇: PHP8.1新特性枚举 枚举的简单用法
相关文章
随机图文
-
php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。 -
搜狗输入法“618红包广告”怎么关闭 搜狗弹窗关闭
618就要到了,国产软件又一次次耍起流氓起来,各种弹窗层出不穷,搜狗输入法也打起了用户是小心思,通过右下角托盘,强制推广618天猫广告,这还是用户数量庞大的软件,为了利益耍起流氓.目前环境下电脑中毒事 -
切换php版本执行命令行 不更改环境变量切换php版本执行命令
由于不同的php版本互相不兼容,频繁更换环境变量的path变量过于麻烦,不更改环境变量切换php版本执行命令,直接在php nts 目录下执行php命令方法.当前我有个为php5.3环境的项目与一个p -
spriingboot之mybatis 多对多关联查询
一对一关联,出现关联数据column所对应的值边为null,尽管关联的数据表有这个id值,中间表关联主表是一对一. 1.写个自定义sql根据通过中间表与用户表示是一对一的关联关系.2.写出查询用户表数