<? foreach ($this->criteria as $key => $value): ?>
<li><?= $this->accommodationsLink($this->criteria, $key) ?></li>
<? endforeach ?>
Этот код дает неожиданные результаты, потому что только одна ссылка видима. Но существует два объекта в $this-> критерии.
Я исследовал причину проблемы. В функции accommodationsLink является другим циклом foreach, который работает над тем же объектом критериев
foreach ($criteria as $key => $value) {
$params[$key] = $value;
}
$this-> критерии и $criteria являются тем же объектом, который реализует php интерфейс Iterator. Существует ли простой способ позволить этому коду работать, или разве вложенные циклы foreach не возможны с php интерфейсом итератора?