006.phpt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. --TEST--
  2. SimpleXML: foreach
  3. --EXTENSIONS--
  4. simplexml
  5. --FILE--
  6. <?php
  7. $sxe = simplexml_load_string(<<<EOF
  8. <?xml version='1.0'?>
  9. <!DOCTYPE sxe SYSTEM "notfound.dtd">
  10. <sxe id="elem1">
  11. Plain text.
  12. <elem1 attr1='first'>
  13. Bla bla 1.
  14. <!-- comment -->
  15. <elem2>
  16. Here we have some text data.
  17. <elem3>
  18. And here some more.
  19. <elem4>
  20. Wow once again.
  21. </elem4>
  22. </elem3>
  23. </elem2>
  24. </elem1>
  25. <elem11 attr2='second'>
  26. Bla bla 2.
  27. <elem111>
  28. Foo Bar
  29. </elem111>
  30. </elem11>
  31. </sxe>
  32. EOF
  33. );
  34. foreach($sxe as $name => $data) {
  35. var_dump($name);
  36. var_dump(trim($data));
  37. }
  38. echo "===CLONE===\n";
  39. foreach(clone $sxe as $name => $data) {
  40. var_dump($name);
  41. var_dump(trim($data));
  42. }
  43. echo "===ELEMENT===\n";
  44. foreach($sxe->elem11 as $name => $data) {
  45. var_dump($name);
  46. var_dump(trim($data));
  47. }
  48. echo "===COMMENT===\n";
  49. foreach($sxe->elem1 as $name => $data) {
  50. var_dump($name);
  51. var_dump(trim($data));
  52. }
  53. ?>
  54. --EXPECT--
  55. string(5) "elem1"
  56. string(10) "Bla bla 1."
  57. string(6) "elem11"
  58. string(10) "Bla bla 2."
  59. ===CLONE===
  60. string(5) "elem1"
  61. string(10) "Bla bla 1."
  62. string(6) "elem11"
  63. string(10) "Bla bla 2."
  64. ===ELEMENT===
  65. string(6) "elem11"
  66. string(10) "Bla bla 2."
  67. ===COMMENT===
  68. string(5) "elem1"
  69. string(10) "Bla bla 1."