Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在PHP中获得具有行号的文本文件行?_Javascript_Php_String_Echo_Line Numbers - Fatal编程技术网

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

Javascript 如何在PHP中获得具有行号的文本文件行?,javascript,php,string,echo,line-numbers,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

我试过这个,但不知道为什么不起作用:

<?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>";
?>

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

此外,您的索引被关闭了1,因为您将
$key+1
分配给了
$line\u number

$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>";
}
$found=false;
foreach($line作为$line){
if(strpos($line,$search)!==FALSE){
$found=true;
打破
}
}
如有($已找到){
回显“警报('$line');”;
}否则{
回显“警报(“$roomid未找到”);
}

您想做什么?查找出现在?@AlexHowansky中的
$search
行如果我只在警报框中输入行号,它工作正常,并且我在警报框中看到正确的行号,但是如果我输入
$lines[$line\u number]
在警报框中,我根本没有收到警报框。我认为需要对您试图实现的目标进行更多解释。如果找不到,我添加了第二个警报,是否显示?谢谢,我遇到了输入问题(\n),这可能也是我以前代码的问题,但是现在我有了这行代码,你能告诉我如何删除它吗?使用
array\u splice()
函数从数组中删除一个元素。