首页 > 解决方案 > 搜索结果中的“未定义偏移”错误

问题描述

我编写了一个小代码来搜索 TXT 文件,它可以工作,但是在这部分代码中出现错误:

function searchLastName(Array $array, $value)
{
    $lastresult = '';
    foreach ($array as $subarray) {
        if (isset($subarray[1]) && stristr($subarray[1], $value) && $value != "") {
            $lastresult .= $subarray[0] . " " . $subarray[2] . " " . $subarray[1] . "<br />";
        }
    }
    return $lastresult;
}

$file = fopen("classlist.txt", "r");
$filestring = "";
while (!feof($file)) {
    $tempstring = fgets($file);
    $filestring .= $tempstring . "<br />";
    $line_of_text .= $tempstring;
}

第 17 行“未定义变量:line_of_text”中的第一个错误

第 5 行“未定义偏移量:”中的第二个错误

我做错了什么?

标签: php

解决方案


您必须在 while 循环之前初始化变量:

 $line_of_text = '';

并且$subarray很可能只有一个或两个元素,所以 key 2 是未定义的。


推荐阅读