PHP代码错误,显示错误未定义偏移

PHP代码错误,显示错误未定义偏移

问题描述:

这行代码让我不明确偏移量:在第9行。我不知道它有什么问题,代码运行平稳,但代码的这部分让我未定义偏移量。我相信它的东西与$ IPHP代码错误,显示错误未定义偏移

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]); 
} 
+2

'$ lines [$ i]'really?这是for循环的条件? '$ lines'中的内容显示了print_r()调用的输出 – Rizier123 2015-02-06 07:08:04

+0

必须有 - > for($ i = 0; $ i TBI 2015-02-06 07:09:09

for($i = 0; $lines[$i]; $i++) 

什么时候循环结束?一次迭代太迟。它必须是

for($i = 0; $i<count($lines); $i++) 
      ^

For Loop Syntax

+0

不必是这样的,也许OP在数组中有一个假值:'$ lines = array(1,2,3,4,false,5);' – Rizier123 2015-02-06 07:10:37

+0

不是。如果循环永不结束,它将超出范围快 – 2015-02-06 07:11:04

+0

它结束,如果他在数组中有一个假值 – Rizier123 2015-02-06 07:12:19

与尝试 - 的循环

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); 
    } 
} 
+0

在其他还有'$行[$我]' – Last1Here 2015-02-06 07:11:49

+1

感谢您指出。 – 2015-02-06 07:17:22

for($i = 0; **$lines[$i]**; $i++) 

第二步应该是条件这是在这里失去了

+0

技术这是一个条件,变量可以是真实的或虚假的或类似的东西 – Rizier123 2015-02-06 07:11:28

+0

是..agree ..我想显示错误的代码..错误的话..谢谢 – 2015-02-06 07:13:20

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

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

在这里,“hai”会从$ lines [0]到$ lines [4]打印5次。而接下来它会返回相同的错误,因为在$行没有数据[5]

,如果你想为做到这一点,你可以简单地使用foreach用于此目的

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]); 
} 
+0

yaaa sory ..我错了。 – john 2015-02-06 07:34:53