这行代码一直让我得到未定义的偏移量:第9行。我不知道它有什么问题,代码运行顺利但是这部分代码让我得到了未定义的偏移。我相信它与$ i的东西
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]);
}
答案 0 :(得分:0)
for( $i = 0; $lines[$i]; $i++ )
循环什么时候结束?一次迭代太晚了。它必须是
for( $i = 0; $i<count($lines); $i++ )
^
<强> For Loop Syntax 强>
答案 1 :(得分:0)
尝试 -
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);
}
}
答案 2 :(得分:0)
for( $i = 0; **$lines[$i]**; $i++ )
for 循环的第二步应该是这里缺少的条件
答案 3 :(得分:0)
在for循环中使用之前,应该定义$ lines数组。
$lines[] = array(1,2,3,4,5);
for( $i = 0; $lines[$i]; $i++ ) /** LINE 9 **/
{
print 'hai'; print PHP_EOL;
}
这里,&#34; hai&#34;将从$ lines [0]到$ lines [4]打印5次。然后它将返回相同的错误,因为$ lines [5]
上没有数据答案 4 :(得分:0)
你可以简单地将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]);
}