Как перебирать SplObjectContainer внутри вложенных операторов доходности, сохраняя при этом внешние итерации? ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Как перебирать SplObjectContainer внутри вложенных операторов доходности, сохраняя при этом внешние итерации?

Сообщение Anonymous »

У меня есть база кода, в которой очень распространенная операция findAll реализована в реализации, поддерживаемой SplObjectStorage. Иногда требуется найтиAll (перебирать каждую запись в коллекции) несколько раз вложенным образом, но, похоже, нет простого способа сделать это без ручного отслеживания состояния в каждом кадре стека для сброса внешняя итерация возвращается в исходное состояние - или сохраните отдельный счетчик итераций.
Это то же самое, что и при использовании реализации итератора, но учтите, что если бы я только что использовал массив, вы могли бы фактически выполнить цикл их безопасным для стека способом, который не мешает текущей итерации - это не тот случай, когда вручную перемещается внутренний указатель итерации.

Код: Выделить всё


Подробнее здесь: [url]https://stackoverflow.com/questions/78392649/how-to-iterate-an-splobjectcontainer-inside-nested-yield-statements-while-preser[/url]

Вернуться в «Php»