首頁 >後端開發 >php教程 >為什麼我在 PHP 7.4 中收到「錯誤陷阱:布林值上的陣列偏移存取」?

為什麼我在 PHP 7.4 中收到「錯誤陷阱:布林值上的陣列偏移存取」?

Patricia Arquette
Patricia Arquette原創
2024-11-15 04:18:02607瀏覽

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

解:

解決方案:
return $Row['Data'] ?? 'default value';

$Row['Data'] ??= 'default value';
return $Row['Data'];
解決方案:解決方案:解> PHP 7.4 強制執行更嚴格的型別檢查,當$Row['Data'] 可能為null 時會導致此錯誤。若要解決此問題,請在$Row['Data'] 為null 時使用空合併運算子(??) 指派預設值:或者,您可以使用空合併賦值運算子( ? ?=) 如果$Row['Data'] 為null,則設定預設值:

以上是為什麼我在 PHP 7.4 中收到「錯誤陷阱:布林值上的陣列偏移存取」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn