我的代码有时会给代码undefinet偏移错误。
Error:
[03-Sep-2015 13:06:44] NOTICE: "Undefined offset: 6"
File: /home/mdmeds/public_html/includes/pages/game/class.ShowBuildingsPage.php | Line: 111
和
[04-Sep-2015 17:38:57] NOTICE: "Undefined offset: 8"
File: /home/mdmeds/public_html/includes/pages/game/class.ShowBuildingsPage.php | Line: 111
这是代码的一部分
$Element = $CurrentQueue[$QueueID - 2][0]; /**this give the error*/
$BuildEndTime = $CurrentQueue[$QueueID - 2][3];
unset($CurrentQueue[$QueueID - 1]);
$NewQueueArray = array();
foreach($CurrentQueue as $ID => $ListIDArray)
{
if ($ID < $QueueID - 1) {
$NewQueueArray[] = $ListIDArray;
} else {
if($Element == $ListIDArray[0] || empty($ListIDArray[0]))
continue;
$BuildEndTime += BuildFunctions::getBuildingTime($USER, $PLANET, $ListIDArray[0]);
$ListIDArray[3] = $BuildEndTime;
$NewQueueArray[] = $ListIDArray;
}
}
我阅读了很多关于此类错误的文章,但我不知道如何修复我的代码。有谁可以帮助我吗 ?
答案 0 :(得分:0)
在这段代码$CurrentQueue[$QueueID - 2][0]
中,密钥是根据$QueueID
动态生成的。当您收到错误时,表示指定的键在数组$CurrentQueue
中不可用。
为避免此类运行时异常,您可以执行类似此操作
if (!empty($CurrentQueue[$QueueID - 2])) {
// the actual functionality goes here.
}