PHP函数从文件中获取所有匹配的行
我试图从html文件中搜索多个匹配的行并返回这些行 如果只有一个匹配,那么它就工作了。但如果有多个匹配项,则不会返回任何结果 代码如下:PHP函数从文件中获取所有匹配的行,php,file,search,Php,File,Search,我试图从html文件中搜索多个匹配的行并返回这些行 如果只有一个匹配,那么它就工作了。但如果有多个匹配项,则不会返回任何结果 代码如下: $line = getLineFromFile("abc.html", 'http://www.abc.com/'); echo $line; function getLineFromFile($file, $string) { $lines = file($file); foreach($lines as $lineNumber =>
$line = getLineFromFile("abc.html", 'http://www.abc.com/');
echo $line;
function getLineFromFile($file, $string) {
$lines = file($file);
foreach($lines as $lineNumber => $line) {
if(strpos($line, $string) !== false){
return $lines[$lineNumber];
}
}
return false;
}
为什么不返回所有匹配的行?一旦从函数返回,函数调用将停止执行。您需要将结果存储在数组中,然后返回它
function getLineFromFile($file, $string) {
$lines = file($file);
$matches = array();
foreach($lines as $lineNumber => $line) {
if(strpos($line, $string) !== false){
$matches[] = $lines[$lineNumber];
}
}
return $matches;
}
检查此函数的结果时,请确保检查是否有空数组,而不是
false
。一旦从函数返回,函数调用将停止执行。您需要将结果存储在数组中,然后返回它
function getLineFromFile($file, $string) {
$lines = file($file);
$matches = array();
foreach($lines as $lineNumber => $line) {
if(strpos($line, $string) !== false){
$matches[] = $lines[$lineNumber];
}
}
return $matches;
}
在检查此函数的结果时,请确保您检查的是空数组,而不是
false
。它非常有效!只是我不得不让那个阵列内爆。非常感谢!它工作得很好!只是我不得不让那个阵列内爆。非常感谢!