1--TEST-- 2SimpleXML: var_dump() 3--SKIPIF-- 4<?php if (!extension_loaded("simplexml")) print "skip"; ?> 5--FILE-- 6<?php 7 8$sxe = simplexml_load_file(dirname(__FILE__).'/000.xml'); 9 10function test($what) 11{ 12 global $sxe; 13 echo "===$what\n"; 14 eval("var_dump(isset(\$$what));"); 15 eval("var_dump((bool)\$$what);"); 16 eval("var_dump(count(\$$what));"); 17 eval("var_dump(\$$what);"); 18} 19 20test('sxe'); 21test('sxe->elem1'); 22test('sxe->elem1[0]'); 23test('sxe->elem1[0]->elem2'); 24test('sxe->elem1[0]->elem2->bla'); 25if (!ini_get("unicode_semantics")) test('sxe->elem1[0]["attr1"]'); 26test('sxe->elem1[0]->attr1'); 27test('sxe->elem1[1]'); 28test('sxe->elem1[2]'); 29test('sxe->elem11'); 30test('sxe->elem11->elem111'); 31test('sxe->elem11->elem111->elem1111'); 32test('sxe->elem22'); 33test('sxe->elem22->elem222'); 34test('sxe->elem22->attr22'); 35test('sxe->elem22["attr22"]'); 36 37?> 38===DONE=== 39<?php exit(0); ?> 40--EXPECTF-- 41===sxe 42bool(true) 43bool(true) 44int(3) 45object(SimpleXMLElement)#%d (3) { 46 ["@attributes"]=> 47 array(1) { 48 ["id"]=> 49 string(3) "123" 50 } 51 ["elem1"]=> 52 array(2) { 53 [0]=> 54 string(36) "There is some text.Here is some more" 55 [1]=> 56 object(SimpleXMLElement)#%d (1) { 57 ["@attributes"]=> 58 array(2) { 59 ["attr1"]=> 60 string(2) "11" 61 ["attr2"]=> 62 string(2) "12" 63 } 64 } 65 } 66 ["elem11"]=> 67 object(SimpleXMLElement)#%d (1) { 68 ["elem111"]=> 69 object(SimpleXMLElement)#%d (1) { 70 ["elem1111"]=> 71 object(SimpleXMLElement)#%d (0) { 72 } 73 } 74 } 75} 76===sxe->elem1 77bool(true) 78bool(true) 79int(2) 80object(SimpleXMLElement)#%d (3) { 81 ["@attributes"]=> 82 array(2) { 83 ["attr1"]=> 84 string(5) "first" 85 ["attr2"]=> 86 string(6) "second" 87 } 88 ["comment"]=> 89 object(SimpleXMLElement)#%d (0) { 90 } 91 ["elem2"]=> 92 object(SimpleXMLElement)#%d (2) { 93 ["@attributes"]=> 94 array(2) { 95 ["att25"]=> 96 string(2) "25" 97 ["att42"]=> 98 string(2) "42" 99 } 100 ["elem3"]=> 101 object(SimpleXMLElement)#%d (1) { 102 ["elem4"]=> 103 object(SimpleXMLElement)#%d (1) { 104 ["test"]=> 105 object(SimpleXMLElement)#%d (0) { 106 } 107 } 108 } 109 } 110} 111===sxe->elem1[0] 112bool(true) 113bool(true) 114int(1) 115object(SimpleXMLElement)#%d (3) { 116 ["@attributes"]=> 117 array(2) { 118 ["attr1"]=> 119 string(5) "first" 120 ["attr2"]=> 121 string(6) "second" 122 } 123 ["comment"]=> 124 object(SimpleXMLElement)#%d (0) { 125 } 126 ["elem2"]=> 127 object(SimpleXMLElement)#%d (2) { 128 ["@attributes"]=> 129 array(2) { 130 ["att25"]=> 131 string(2) "25" 132 ["att42"]=> 133 string(2) "42" 134 } 135 ["elem3"]=> 136 object(SimpleXMLElement)#%d (1) { 137 ["elem4"]=> 138 object(SimpleXMLElement)#%d (1) { 139 ["test"]=> 140 object(SimpleXMLElement)#%d (0) { 141 } 142 } 143 } 144 } 145} 146===sxe->elem1[0]->elem2 147bool(true) 148bool(true) 149int(1) 150object(SimpleXMLElement)#%d (2) { 151 ["@attributes"]=> 152 array(2) { 153 ["att25"]=> 154 string(2) "25" 155 ["att42"]=> 156 string(2) "42" 157 } 158 ["elem3"]=> 159 object(SimpleXMLElement)#%d (1) { 160 ["elem4"]=> 161 object(SimpleXMLElement)#%d (1) { 162 ["test"]=> 163 object(SimpleXMLElement)#%d (0) { 164 } 165 } 166 } 167} 168===sxe->elem1[0]->elem2->bla 169bool(false) 170bool(false) 171int(0) 172object(SimpleXMLElement)#%d (0) { 173} 174===sxe->elem1[0]["attr1"] 175bool(true) 176bool(true) 177int(0) 178object(SimpleXMLElement)#%d (1) { 179 [0]=> 180 string(5) "first" 181} 182===sxe->elem1[0]->attr1 183bool(false) 184bool(false) 185int(0) 186object(SimpleXMLElement)#%d (0) { 187} 188===sxe->elem1[1] 189bool(true) 190bool(true) 191int(0) 192object(SimpleXMLElement)#%d (1) { 193 ["@attributes"]=> 194 array(2) { 195 ["attr1"]=> 196 string(2) "11" 197 ["attr2"]=> 198 string(2) "12" 199 } 200} 201===sxe->elem1[2] 202bool(false) 203bool(false) 204int(0) 205NULL 206===sxe->elem11 207bool(true) 208bool(true) 209int(1) 210object(SimpleXMLElement)#%d (1) { 211 ["elem111"]=> 212 object(SimpleXMLElement)#%d (1) { 213 ["elem1111"]=> 214 object(SimpleXMLElement)#%d (0) { 215 } 216 } 217} 218===sxe->elem11->elem111 219bool(true) 220bool(true) 221int(1) 222object(SimpleXMLElement)#%d (1) { 223 ["elem1111"]=> 224 object(SimpleXMLElement)#%d (0) { 225 } 226} 227===sxe->elem11->elem111->elem1111 228bool(true) 229bool(true) 230int(1) 231object(SimpleXMLElement)#%d (0) { 232} 233===sxe->elem22 234bool(false) 235bool(false) 236int(0) 237object(SimpleXMLElement)#%d (0) { 238} 239===sxe->elem22->elem222 240bool(false) 241bool(false) 242int(0) 243NULL 244===sxe->elem22->attr22 245bool(false) 246bool(false) 247int(0) 248NULL 249===sxe->elem22["attr22"] 250bool(false) 251bool(false) 252int(0) 253NULL 254===DONE=== 255