我刚刚将我的php版本更新为7.4,我注意到出现了以下错误:

不推荐使用带大括号的数组和字符串偏移量访问语法

以下是触发上述错误的部分代码:

public function getRecordID(string $zoneID, string $type = '', string $name = ''): string
{
    $records = $this->listRecords($zoneID, $type, $name);
    if (isset($records->result{0}->id)) {
        return $records->result{0}->id;
    }
    return false;
}

在我的项目中,很少有库使用大括号来获取字符串中的单个字符,更改语法问题的最好方法是什么?

推荐答案

解决这个问题非常简单,但是请记住,您应该为您在其存储库中使用的每个库Forking 并提交您的更改,以帮助其他人.

假设你的代码中有这样的东西:

$str = "test";
echo($str{0});

由于PHP 7.4花括号方法用于获取字符串中的单个字符已被弃用,因此请将上面的语法更改为:

$str = "test";
echo($str[0]);

修复问题中的代码如下所示:

public function getRecordID(string $zoneID, string $type = '', string $name = ''): string
{
    $records = $this->listRecords($zoneID, $type, $name);
    if (isset($records->result[0]->id)) {
        return $records->result[0]->id;
    }
    return false;
}

Php相关问答推荐

谷歌云SQL / mysql谁是对的?

CodeIgniter AJAX表格提交中的CSRF token 再生问题

使用WooCommerce本机产品短码时不考虑价格筛选(_SHORT CODE)

在WooCommerce产品档案页面中显示产品销售百分比

如何在Woocommerce中禁用机器人添加到推车?

无法在WooCommerce中发送客户笔记邮箱通知

如何将WooCommerce产品属性术语名称显示为链接术语?

使用PHP curl的Amazon SP API批处理调用

Apache只允许index.php-不从根目录工作

允许客户定义特定WooCommerce产品的价格

如果WooCommerce购物车在 checkout 时被清空,请重定向至store 页面

表单提交返回空白页

文本到语音:不考虑音高值

在 WooCommerce 更新结帐事件上动态更新自定义内容

如何在laravel中获得两个时间戳之间的小时和分钟差异

如何从 URL 核心 PHP 中的 API 获取 JSON?

为什么 debug_backtrace() 不返回任何内容?

如何通过帖子自定义元数据进行查询

Composer自动加载器重复了子类的类文件路径

PHP preg_replace括号和方括号内的所有逗号