вложенный foreach с интерфейсом итератора

<? 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 интерфейсом итератора?

6
задан Derk 4 August 2010 в 12:31
поделиться