Поскольку Iterators
в PHP не имеют метода стиля previous
, краткий ответ - нет. Вы можете прочитать их в массив, а затем перевернуть массив, но это не будет напрямую повторяться в обратном направлении.
Один из вариантов - создать ReverseIterator, где вы оборачиваете обычный итератор, а затем пересекаете его в обратном направлении. Но это может стать проблематичным, поскольку вы не знаете, есть ли у итератора конец (вы можете увидеть некоторые примеры, которые не в SPL ).
Так нет, ты не можешь. Ваш единственный вариант - сделать что-то вроде этого:
$nodes = array();
foreach ($xml AS $node) {
array_unshift($nodes, $node);
}