在PHP 8.X中处理未定义数组键的最佳方式

在PHP 8.X中处理未定义数组键的最佳方式

爱游把PHP升级到了PHP8.1,modown是全面支持了php8.x的,但是爱游有些地方做了二开,导致不能很好的兼容,对于我这样不懂php的升级了版本就一大堆得报错。栗子如下:public function myFunction($options = []){ if($run = $options['run']){ }}如果...

爱游把PHP升级到了PHP8.1,modown是全面支持了php8.x的,但是爱游有些地方做了二开,导致不能很好的兼容,对于我这样不懂php的升级了版本就一大堆得报错。

栗子如下:

public function myFunction($options = []){
 if($run = $options['run']){ 
 }
}

如果要是我来改,$options被初始化为一个数组,如果定义了键‘run’,我就可以随时使用它的值。现在建议我用这段简单的代码处理的是.

public function myFunction($options = false){
 if(isset($options['run']){
  $run = $options['run'];
 }
}

这样就不会报错了,但是。。。

升级php不就是为了运行得更快吗?现在反而多了一行代码。

经过在网上搜索发现有更简单的办法:

可以通过在表达式前追加@来取消错误。如果值不存在,$run将为NULL:

public function myFunction($options = []){
 if($run = @$options['run']){ 
 }
}

完美。。。

原文链接:https://www.vipiu.net/archives/2023/11/04/19827.html,转载请注明出处。
0

评论0

请先

会员低至49元,开通享海量VIP资源免费下载 自助开通
显示验证码
没有账号?注册  忘记密码?