Как перебирать 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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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