Ahoj,
v jedné třídě mám mám metodu, která je volána rekurzivně a nemám žádnou návratovou hodnotu (změny se provádějí na globální proměnné, která je definovaná v konstruktoru). Jenže z nějaké mě neznámé příčiny ta funkce háže chybu. Budu vděčný komukoliv, kdo mě alepoň navede k řešení problému.
function createHash($position,$upgNext) {
if($upgNext==true) {
if(mb_strpos($this->charsString,$this->lastHash['hash'][$position])=62) {
$this->newHash[$position]=$this->charsArray[0];
$position--;
$this->createHash($position-1,true);
} else {
$this->newHash[$position]=$this->charsArray[mb_strpos($this->charsString,$this->lastHash['hash'][$i])+1];
}
} else {
if(mb_strpos($this->charsString,$this->lastHash['hash'][$position])=62) {
$this->newHash[$position]=$this->charsArray[0];
$position--;
$this->createHash($position-1,true);
} else {
$this->newHash[$position]=$this->charsArray[mb_strpos($this->charsString,$this->lastHash['hash'][$i])+1];
}
}
}
Chybová hláška zní: Fatal error: Can't use function return value in write context in C:\Program Files\EasyPHP\www\shorturl\class\classFunctions.php on line 23 (řádek 23 je tučně v kódu).
Jinak proměnné $this->lastHash i $this->newHash do té funkce vstupují jako čtyřprvková pole, která jsou naplněná stejnými hodnotami. Ty se mají v proměnné $this->newHash po průběhu metody změnit.