为什么我得到一个未定义的偏移量:这个for循环中有124个?

时间:2013-02-19 07:05:48

标签: javascript for-loop undefined offset

我不知道问题是什么。除了$ scanDir之外,一切都被定义了吗?它是函数的一部分,因此它的值在被调用时传递。这应该不是原因。

for ($a = 0; $a <= count($scanListArrayOrig); $a++) {
    rename($scanDir . '/' . $scanListArrayOrig[$a], $scanDir . '/' . $scanListArrayNew[$a]);
}

2 个答案:

答案 0 :(得分:1)

<=替换为<

for ($a = 0; $a < count($scanListArrayOrig); $a++) {
    rename($scanDir . '/' . $scanListArrayOrig[$a], $scanDir . '/' . $scanListArrayNew[$a]);
}

在这里演示:http://ideone.com/yvvAxL

答案 1 :(得分:0)

使用foreach并检查现有密钥的新数组:

foreach($scanListArrayOrig as $key => $file) {
    if(false === array_key_exists($key, $scanListArrayNew)) {
        //new filename not existing in array
    }
    else {
        rename($scanDir.'/'.$file, $scanDir.'/'.$scanListArrayNew[$key]);
    }
}