Почему php приравнивает 2 к 3-м?

Есть вот такой кусок кода:
Код

public function get($data) {
      $id = $data->id;
      echo "Got " . $id . "\n\n";
        
      $agt = json_decode(file_get_contents('data/agent.json'));
        
      for($i = 0; $i < count((array)$agt); $i++) {
          echo "-> " . $agt->$i->id . ", passing\n";
          if($agt->$i->id == $id) echo "-------> " . $agt->$id->id . "\n";
      }
  }



Вот результат:
Выход

Got 2

-> 0, passing
-> 2, passing
-------> 3
-> 3, passing
-> 4, passing
-> 5, passing
-> 6, passing
-> 7, passing
-> 8, passing
-> 9, passing
-> 10, passing
...
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
в строке где "passing" выведите $id, $i и $agt->$i->id и сравните значения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
У вас опечатка
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект