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

我刚刚将我的 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;
}

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

398034 次浏览

解决这个问题真的很简单,但是要记住,您应该分叉并提交您在其存储库中使用的每个库的更改,以帮助其他库。

假设您的代码中有类似的内容:

$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;
}