programing

중괄호가 있는 어레이 및 문자열 오프셋 액세스 구문은 권장되지 않습니다.

newsource 2022. 11. 16. 21:17

중괄호가 있는 어레이 및 문자열 오프셋 액세스 구문은 권장되지 않습니다.

방금 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;
}

내 프로젝트에는 문자열 안에 개별 문자를 가져오기 위해 물결 괄호를 사용하는 라이브러리가 거의 없습니다. 구문 문제를 변경하는 가장 좋은 방법은 무엇입니까?

이 문제를 해결하는 것은 매우 간단하지만 다른 사용자를 지원하기 위해 저장소 내에서 사용하는 각 라이브러리에 대한 변경 사항을 포크하고 커밋해야 합니다.

코드에 다음과 같은 것이 있다고 합시다.

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

언급URL : https://stackoverflow.com/questions/59158548/array-and-string-offset-access-syntax-with-curly-braces-is-deprecated