簡體   English   中英

嘗試訪問 PHP 7.4 中 bool 類型值的數組偏移量時出錯

[英]Error Trying to access array offset on value of type bool in PHP 7.4

我有這樣的代碼:

// load the file
self::$_list = array();
$handle = fopen($file, 'r');
while (!feof($handle)) {
    $line = fgetcsv($handle);
    if (null != $line && count($line)!=2) continue;
    self::$_list[trim($line[0])] = trim($line[1]);
}
fclose($handle);

但是當我測試時,我得到了這樣的錯誤:

注意:嘗試訪問 bool 類型值的數組偏移量

錯誤是指腳本self::$_list[trim($line[0])] = trim($line[1]); .

正如您可以在“ Return部分中閱讀那樣:

如果提供了無效句柄,fgetcsv() 將返回 NULL,或者在其他錯誤(包括文件結尾)時返回 FALSE。

所以問題是$line[0]當你到達文件末尾時,因為$linefalse

請考慮查看該頁面上的以下示例,並將這些示例用作“指南”來重寫您的 function, if至少添加到中間以檢查該條件,例如:

if ( null != $line && count($line) != 2 || $line === false ) continue;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM