我正在尝试从txt文件读取行,并返回上面具有特定字符串的每一行。在这种情况下,我正在寻找“1992”

alt.txt

1223 abcd
1992 dcba
1992 asda

file.php
function getLineWithString($fileName, $str) {
    $lines = file($fileName);
    foreach ($lines as $lineNumber => $line) {
        if (strpos($line, $str) !== false) {
            return $line;
        }
    }
    return -1;
}

当我运行php时,当我想每行接收一个数组时,将得到“1992 dcba”作为回报。 $ line [0]将为“1992 dcba”,$ line [1]将为“1992 asda”。我该怎么办?

最佳答案

构建所有有效结果的数组并返回,而不是简单地返回第一个结果

function getLineWithString($fileName, $str) {
    $results = array();
    $lines = file($fileName);
    foreach ($lines as $lineNumber => $line) {
        if (strpos($line, $str) !== false) {
            $results[] = $line;
        }
    }
    return $results;
}

关于php - 在PHP中使用字符串获取每一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27091164/

10-10 09:15