嘗試存取 PHP 7.4 中 bool 類型值的陣列偏移量
P粉846294303
2023-08-24 09:06:21
<p>我剛剛將伺服器的 PHP 版本升級到 PHP 7.4.1,現在收到此錯誤:</p>
<blockquote>
<p>注意:嘗試存取 bool 類型值的陣列偏移</p>
</blockquote>
<pre class="brush:php;toolbar:false;">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;
}</pre>
<p>PHP 7.4 的修復是什麼? </p>
如果你的查詢沒有回傳一行,那麼你的變數 $Row 將會被填入 false, 因此您可以在嘗試存取變數內部的任何索引之前測試該變數是否有值:
輕鬆使用 PHP
??
空合併運算子或者你可以這樣使用