2017-09-18 6 views
-1

나는 잘 작동이 오류가이 사이트는 I 있도록 디바이스에서 잘 작동Silverstripe [공지] 정의되지 않은 오프셋 : 0 오류

[Notice] Undefined offset: 0 

나타나기 때문에 주말에 내 클라이언트가 유지 보수 보고서 패널에 액세스하지 못할 사이트를 그것의 PHP 버전 문제/업데이트 문제를 안다. 누구든지 제발 도와 줄 수 있습니까? Heres 코드는 return $ 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; 
    } 
} 

답변

-1

배열 색인 0이 존재하지 않는다는 알림이 표시됩니다. 색인에 액세스하기 전에 색인이 존재하는지 확인해야합니다.

다음과 수익 문을 대체 할 수

return array_key_exists(0, $parentNodes) ? $parentNodes[0]: null;