Call to a member function on a non-object

Call to a member function on a non-object
RY
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 101
0

Witam

Może ktoś mo powiedzieć dlaczego dostaję w tym miejscu powyższy błąd:

Kopiuj
$t=$documents_list[$i]->getID();

Powyższy kod znajduje się w pętli for gdzie $i to indeks pętli. Jeżeli wpiszę :

Kopiuj
$t=$documents_list[7]->getID();

To wszystko jest ok. $documents_list jest to tablica przechowująca obiekty typu Documents:

Kopiuj
<?php
class Document{	

   private $_ID = null;
   private $_name = null;
   private $_time = null;

   public function setID($ID)
   {
         $this->_ID = $ID;
   } 

   public function setName($name)
   {
         $this->_name = $name;
   } 

   public function setTime($time)
   {
         $this->_time = $time;
   } 

   public function getID()
   {
      return $this->_ID;            
   }

   public function getName()
   {
      return $this->_name;            
   }

   public function getTime()
   {
      return $this->_time;            
   }

}
?>

Prosze o jakieś wskazówki. Jest to mój pierwszy programik w PHP.

RE
  • Rejestracja: dni
  • Ostatnio: dni
0

Podaj cały kod tej pętli.

RY
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 101
0
Kopiuj
for($i = 0; $i < count($documents_list); $i++)
  {
	$t=$documents_list[$i]->getID();
	$tr=$documents_list[$i+1]->getID();		
	
	if($t != $tr)
	{		
		$temp_timestamp = $documents_list[$i]->getTime() - $temp_time_milis;
		$timestamps_list[$j] = $temp_timestamp;
		$temp_time_milis = $documents_list[$i+1]->getTime();
	}
  }
RE
  • Rejestracja: dni
  • Ostatnio: dni
2

Wychodzisz tym $i + 1 poza tablicę.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.