3v4l.org

run code in 300+ PHP versions simultaneously
<?php $buffer = xml(); $xml = new SimpleXMLIterator($buffer); $recursive = new RecursiveIteratorIterator($xml); foreach ($recursive as $tag => $object) { if ($tag !== 'Name') { continue; } echo "-> " . $object ; } function xml() { $buffer = <<<'XML' <root> <Family> <ID>7588784011</ID> <Name>1David</Name> <Ancestors> <Family> <ID>157050011</ID> <Name>1Samuel</Name> <Ancestors> <Family> <ID>157028011</ID> <Name>1Fred</Name> <Ancestors> <Family> <ID>154606011</ID> <Name>1John</Name> <Ancestors> <Family> <ID>133141011</ID> <Name>1Frank</Name> <IsCategoryRoot>1</IsCategoryRoot> <Ancestors> <Family> <ID>133140011</ID> <Name>1Robert</Name> </Family> </Ancestors> </Family> </Ancestors> </Family> </Ancestors> </Family> </Ancestors> </Family> </Ancestors> </Family> <Family> <ID>7588784011</ID> <Name>2David</Name> <Ancestors> <Family> <ID>157050011</ID> <Name>2Samuel</Name> <Ancestors> <Family> <ID>157028011</ID> <Name>2Fred</Name> <Ancestors> <Family> <ID>154606011</ID> <Name>2John</Name> </Family> </Ancestors> </Family> </Ancestors> </Family> </Ancestors> </Family> <Family> <ID>7588784011</ID> <Name>3David</Name> <Ancestors> <Family> <ID>157050011</ID> <Name>3Samuel</Name> <Ancestors> <Family> <ID>157028011</ID> <Name>3Fred</Name> <Ancestors> <Family> <ID>154606011</ID> <Name>3John</Name> <Ancestors> <Family> <ID>133141011</ID> <Name>3Frank</Name> </Family> </Ancestors> </Family> </Ancestors> </Family> </Ancestors> </Family> </Ancestors> </Family> </root> XML; return $buffer; }
Output for 7.1.25 - 7.1.32, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
-> 1David-> 1Samuel-> 1Fred-> 1John-> 1Frank-> 1Robert-> 2David-> 2Samuel-> 2Fred-> 2John-> 3David-> 3Samuel-> 3Fred-> 3John-> 3Frank

preferences:
101.74 ms | 1498 KiB | 4 Q