我已经尝试过了,但是我不知道为什么它不起作用:
<?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>";
?>
答案 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>";
}