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

2022-08-30 06:44:11

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

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


答案 1

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

假设您的代码中有类似的东西:

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

答案 2

推荐