我有一个网站工作正常,周末我的客户端无法访问维护报告面板,因为出现此错误
[Notice] Undefined offset: 0
该网站在dev上工作正常,所以我知道它不是php版本问题/更新问题。有人可以帮忙吗?下面是代码,它说错误在第44行,返回$ parentNodes [0];
public function getProblemPath(){
$parentNodes = array_reverse($this->getParent($this->ParentNodeID, array()));
return implode(' -> ', $parentNodes) . ' -> ' . $this->Title;
}
public function getProblemStart(){
$parentNodes = array_reverse($this->getParent($this->ParentNodeID, array()));
return $parentNodes[0];
}
public function getParent($ID, $nodes){
if ($parent = DataObject::get_one("MaintenanceNode", array("ID" => $ID))){
$nodes[] = $parent->Title;
if ($parent->ParentNodeID){
return $this->getParent($parent->ParentNodeID, $nodes);
} else {
return $nodes;
}
} else {
return $nodes;
}
}
答案 0 :(得分:-1)
通知告诉您数组索引0
不存在。在访问索引之前,您应该检查它是否存在。
您可以使用以下内容替换return语句:
return array_key_exists(0, $parentNodes) ? $parentNodes[0]: null;