Я хотел бы знать, является ли в PHP 5.6.11 есть какая-то разница между следующими двумя способами с SimpleXMLElement итерации:Разница между SimpleXMLElement PHP для циклов foreach и foreach?
$simpleXMLIterator = new SimpleXMLIterator($xmlCode);
foreach ($simpleXMLIterator as $xmlElement) {
echo $xmlElement->getName(), "\n";
}
и
$simpleXMLIterator = new SimpleXMLIterator($xmlCode);
for ($simpleXMLIterator->rewind(); $simpleXMLIterator->valid(); $simpleXMLIterator->next()) {
echo $simpleXMLIterator->current()->getName(), "\n";
}
Спасибо за ваш ответ:.. Вы объяснили немного Еогеаспа Но не могли бы вы, пожалуйста, также объясните, почему цикл for не может привести к тому, что он будет вести себя так же, как цикл foreach? Почему не те две вещи одинаковые? Спасибо. –
Что вы имеете в виду? «Это вызовет ту же логику внутри объекта». – ThW
Возможно, разница в том, что с циклом foreach вы имеете доступ только к элементам, инкапсулированным проходящим объектом Traversable, тогда как с циклом for вы wil Я также имею доступ к самому объекту Traversable внутри цикла. Последнее может быть выгодным, если код должен также вызывать методы на охватывающем перемещаемом объекте. Благодарю. –