php代码错误,错误显示为未定义的偏移量

php代码错误,错误显示为未定义的偏移量,php,Php,这行代码一直让我无法定义偏移量:在第9行。我不知道有什么问题,代码运行平稳,但这部分代码让我无法定义偏移量。我相信这是我的东西 for( $i = 0; $lines[$i]; $i++ ) /** LINE 9 **/ { if( $_POST['Aut'] == rtrim($lines[$i]) ) { fwrite($file, $_POST['addition']."\n\t"); fwrite($file, $_POST['Aut'].PHP_EOL); } els

这行代码一直让我无法定义偏移量:在第9行。我不知道有什么问题,代码运行平稳,但这部分代码让我无法定义偏移量。我相信这是我的东西

for( $i = 0; $lines[$i]; $i++ ) /** LINE 9 **/
{
if( $_POST['Aut'] == rtrim($lines[$i]) )
{
    fwrite($file, $_POST['addition']."\n\t");
    fwrite($file, $_POST['Aut'].PHP_EOL);

}
else
{
    fwrite($fd,$lines[$i]);
}
循环什么时候结束?一次迭代太晚了。一定是这样

for( $i = 0; $i<count($lines); $i++ )
             ^
对于($i=0;$i尝试-

foreach($lines as $line) /** LINE 9 **/
{

    if( $_POST['Aut'] == rtrim($line) )
    {
        fwrite($file, $_POST['addition']."\n\t");
        fwrite($file, $_POST['Aut'].PHP_EOL);

    }
    else
    {
        fwrite($fd,$line);
    }
}

for循环的第二步应该是此处缺少的条件

在for循环中使用之前,应该定义$lines数组

$lines[] = array(1,2,3,4,5);
for( $i = 0; $lines[$i]; $i++ ) /** LINE 9 **/
{
 print 'hai'; print PHP_EOL;
}

在这里,“hai”将从$line[0]到$line[4]打印5次。下一次它将返回相同的错误,因为$line[5]上没有数据。

您只需使用foreach即可

foreach($lines as $key=>$line)
{
 /* your code here */

}
如果你想用for循环做这个,试试这个

for( $i = 0; $i<count($lines); $i++ ) /** LINE 9 **/
{
if( $_POST['Aut'] == rtrim($lines[$i]) )
{
    fwrite($file, $_POST['addition']."\n\t");
    fwrite($file, $_POST['Aut'].PHP_EOL);

}
else
{
    fwrite($fd,$lines[$i]);
}

for($i=0;$i
$lines[$i]
真的吗?这是for循环的条件吗?
$lines
中的内容向我们显示print\u r()调用的输出必须是->for($i=0;$i不必是这种情况,可能OP在数组中有一个假值:
$lines=array(1,2,3,4,false,5)
不。如果循环永远不会结束,它将超出范围fastIt ends如果数组中有一个假值,它将结束Tanks Hanky panky!这对我有效,我会在它允许的情况下检查这个作为我的解决方案的答案。技术上这是一个条件,变量可以是真的或假的,或者类似的东西是的。同意。我想显示代码中的错误。错误ords..谢谢在其他地方还有
$行[$i]
foreach($lines as $key=>$line)
{
 /* your code here */

}
for( $i = 0; $i<count($lines); $i++ ) /** LINE 9 **/
{
if( $_POST['Aut'] == rtrim($lines[$i]) )
{
    fwrite($file, $_POST['addition']."\n\t");
    fwrite($file, $_POST['Aut'].PHP_EOL);

}
else
{
    fwrite($fd,$lines[$i]);
}