如何在PHP中获得带有行号的文本文件的行?

时间:2019-09-18 18:23:08

标签: javascript php string echo line-numbers

我已经尝试过了,但是我不知道为什么它不起作用:

<?php
$roomid = $_GET["roomid"];
$file = fopen('Rooms//testid.txt','a+');
$lines = file('Rooms//testid.txt'); 
$search = $roomid;
$line_number = false;

while (list($key, $line) = each($lines) and !$line_number) {
  $line_number = (strpos($line, $search) !== FALSE) ? $key + 1 : $line_number;
}
echo "<script type='text/javascript'>alert('$lines[$line_number]');</script>";
?>

1 个答案:

答案 0 :(得分:0)

循环过于复杂。您不需要行号,只需行。您可以使用布尔变量来确定是否找到了搜索字符串,并可以使用break语句而不是复杂的while条件结束循环。

此外,由于将$key + 1分配给$line_number,因此索引也减少了1。

$found = false;
foreach ($lines as $line) {
    if (strpos($line, $search) !== FALSE) {
        $found = true;
        break;
    }
}
if ($found) {
    echo "<script type='text/javascript'>alert('$line');</script>";
} else {
    echo "<script type='text/javascript'>alert('$roomid not found');</script>";
}