我一直得到一个未定义的偏移150错误,但我不确定它意味着什么或我该怎么做来调试它。做到错误行我相信它与我的for循环有关。
// Get Datafile
$MyData = file("./tmp/test.txt");
// Get Column Headers
$ColHeads = explode(" ", $MyData[1]);
unset($MyData[1]);
$LastHeader = "";
for ($i = 0;$i <= count($ColHeads);$i++) {
if ($ColHeads[$i] == $LastHeader) { //<---this is the line that errors
$ColHeads[$i] = $ColHeads[$i] . "1";
}
$LastHeader = $ColHeads[$i];
}
有人会对我出错的地方有任何想法吗?
,错误是:
Undefined offset: 150
如果这很模糊,我很抱歉。我不熟悉php
并且不确定从哪里开始调试这个...任何帮助都将非常感谢!谢谢!
答案 0 :(得分:2)
更改你的for循环:
for ($i = 0;$i < count($ColHeads);$i++) {
问题是在循环的最后一次迭代中,当$ i == count($ ColHeads)时,这将为$ ColHeads中的项目数设置$ i。
你开始正确设置$ i = 0.如果$ ColHeads中有5个项目,那些项目的索引从0到4.你的for循环,实际上是5 - 并且没有$ Colheads [5],因此抛出错误。
答案 1 :(得分:2)
数组索引从零开始。并以Length-1
结束。所以它应该是:
for ($i = 0;$i < count($ColHeads);$i++) {