【问题标题】:Error Trying to access array offset on value of type bool in PHP 7.4在 PHP 7.4 中尝试访问 bool 类型值的数组偏移量时出错
【发布时间】:2020-06-17 00:24:03
【问题描述】:

我有这样的代码:

// 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]);

【问题讨论】:

标签: php


【解决方案1】:

您可以在Return 部分阅读here

如果提供了无效句柄,fgetcsv() 将返回 NULL,如果其他错误(包括文件结尾)返回 FALSE。

所以当你到达文件末尾时问题是$line[0],因为$linefalse

请考虑查看该页面上的以下示例,并将这些示例用作“指南”来重写您的函数,或者至少在中间添加 if 一些内容以检查该条件,例如:

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

【讨论】:

    猜你喜欢
    • 2020-04-27
    • 2020-10-17
    • 2021-02-05
    • 2020-10-03
    • 2023-01-15
    • 1970-01-01
    相关资源
    最近更新 更多