Autor Zpráva
peca
Profil
Mám v PHP třídu pro práci se zásobníkem:
<?php
//definice tridy pro praci se zasobnikem
class zasobnik
{
 var $data;
 var $pocet=0; //pocet prvku v zasobniku
//metody
function __construct()
{
 //$this->$pocet=0;
 //$thic->$data=array();
}
public function add($co)
{ //prida prvek na vrchol zasobniku
 if (!$this->$pocet)
 { //v zasobniku jiz neco je
  for ($i=count($this->$data)-1;$i>=0;$i--)
  {//posunuti indexu
	$this->$data[$i+1]=$this->$data[$i];
  }
 }
 $this->$data[0]=$co;
 $this->$pocet++;
}
public function push()
{ //vrci hodnotu na vrcholu zasobniku, jinak vraci 0
 if (!$this->$pocet)
 {
	return 0;
 }
 else
 {//v zasobniku jsou nejaka data
	$vrchol=$this->$data[0];
	$pom=array();
	for ($i=1;$i<count($this->$data);$i++)
	{ //posunuti hodnot v zasobniku
		$pom[$i-1]=$this->$data[$i];
	}
	$this->$data=$pom;
	$this->$pocet--;
	return $vrchol;
 }
}
}
?>

Problém je v tom, že mi to vrací error Fatal error: Cannot access empty property in /home/peca/public_html/test/inc/zasobnik_class.php on line 15
řádek 15 obsahuje if (!$this->$pocet)
Nevíte někdo, jak toto řešit?
nightfish
Profil
if (!$this->$pocet)
nemělo by to být spíš
if (!$this->pocet)

(přebývající dolar před "pocet")
panhuhu
Profil
nightfish
Ono to není jenom u pocet :).
peca
Profil
Díky za radu. Už to funguje. Problém byl v tom, že dřív jsem třídy v PHP nepoužíval a tak mě nenapadlo, že by tam neměl být dolar.
Byla to moje blbost....

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0