>백엔드 개발 >PHP 튜토리얼 >PHP 7.4에서 \'오류 트랩: 부울 값에 대한 배열 오프셋 액세스\'가 발생하는 이유는 무엇입니까?

PHP 7.4에서 \'오류 트랩: 부울 값에 대한 배열 오프셋 액세스\'가 발생하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-15 04:18:02606검색

Why Am I Getting

오류 트랩: PHP 7.4의 부울 값에 대한 배열 오프셋 액세스

쿼리:

PHP 7.4.1로 업그레이드한 후 다음 오류가 발생합니다. 발생:

Notice: Trying to access array offset on value of type bool in

이 코드 블록 내:

public static function read($id)
{
    $Row = MySQL::query("SELECT `Data` FROM `cb_sessions` WHERE `SessionID` = '$id'", TRUE);
    
    # http://php.net/manual/en/function.session-start.php#120589
    //check to see if $session_data is null before returning (CRITICAL)
    if(is_null($Row['Data']))
    {
        $session_data = '';
    }
    else
    {
        $session_data = $Row['Data'];
    }
    
    return $session_data;
}

해결책:

PHP 7.4는 더 엄격한 유형 검사를 시행하므로 다음과 같은 경우에 이 오류가 발생합니다. $Row['Data']는 null일 수 있습니다. 이 문제를 해결하려면 $Row['Data']가 null인 경우 null 병합 연산자(??)를 사용하여 기본값을 할당합니다.

return $Row['Data'] ?? 'default value';

또는 null 병합 할당 연산자(?)를 사용할 수도 있습니다. ?=) $Row['Data']가 null인 경우 기본값을 설정하려면:

$Row['Data'] ??= 'default value';
return $Row['Data'];

위 내용은 PHP 7.4에서 \'오류 트랩: 부울 값에 대한 배열 오프셋 액세스\'가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.