PHP: private function getRoute() { $this->route = new SplStack(); $this->route->push($this->endPosition); echo $this->route->current(); // Вывод 32041 echo $this->closeSet->offsetGet(32041); // Выводит значение по указанному индексу } А следующий код вызовет ошибку в 7-й строке index invalid or out of range: PHP: public function getRoute() { $this->route = new SplStack(); $this->route->push($this->endPosition); $this->route->rewind(); while(!$this->route->offsetExists($this->startPosition)) { $this->route->push($this->closedSet->offsetGet($this->route->current())); $this->route->next(); } } Что я делаю не так?
@Ondottr, для начала определитесь, какое из выражений вызывает выход за пределы массива (и какого из массивов). Либо $this->route->current() /что вряд-ли/, либо $this->closedSet->offsetGet();
Вырвано из контекста. Или выкладывай весь класс, или совсем не выкладывай. Тебе правильно сказали, что ошибка значит выход за пределы массива. Где-то ты идёшь дальше, чем твой splfixed array позволяет.