【问题标题】:Why am I getting an undefined offset:124 in this for loop?为什么我在这个 for 循环中得到一个未定义的偏移量:124?
【发布时间】:2013-02-19 07:05:48
【问题描述】:

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

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

【问题讨论】:

    标签: javascript for-loop undefined offset


    【解决方案1】:

    &lt;= 替换为&lt;

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

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

    【讨论】:

    • 没有考虑偏移,因为数组以 [0] 开头。谢谢
    【解决方案2】:

    使用 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]);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      • 1970-01-01
      相关资源
      最近更新 更多