Как пофиксить ошибку PHP «Warning: Illegal string offset 'id'»?

Вот есть такой кусок PHP кода:

public function getAllianceRank($id) {
				$this->procARankArray();
				while(1) {
					if(count($this->rankarray) > 1) {
						$key = key($this->rankarray);
						if($this->rankarray[$key]["id"] == $id) { // В ЭТОЙ СТРОКЕ ПРОИСХОДИТ ПРЕДУПРЕЖДЕНИЕ
							return $key;
							break;
						} else {
							if(!next($this->rankarray)) {
								return false;
								break;
							}
						}
					} else {
						return 1;
					}
				}
			}


А вот и само предупреждение:
Warning: Illegal string offset 'id' in /var/www/GameEngine/Ranking.php on line 189

Я так понимаю, что там должен быть массив, а там строка, правильно? Как пофиксить это предупреждение?
  • Вопрос задан
  • 53644 просмотра
Решения вопроса 1
stackoverflow.com/questions/9869150/illegal-string...
У вас в $this->rankarray[$key] строка. Чтобы пофиксить это предупреждение:
1) положите туда массив
2) не обращайтесь к строке по индексу ['id']
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
HaJIuBauKa
@HaJIuBauKa
} else {
                        return 1;

break не хватает - бесконечный цикл...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы