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()
函数从数组中删除一个元素。