首頁 >後端開發 >php教程 >too simple too naive PHP中simplexml_load_string函數使用說明

too simple too naive PHP中simplexml_load_string函數使用說明

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-07-29 08:44:091157瀏覽

先用一段程式碼重現問題
乍看,結果很讓人費解:

複製程式碼 程式碼如下:


$string =
hello
world

EOF;
$data = simplexml_load_string($string);
print_r($data);
print_r($data-> foo);
?>


乍一看,結果很讓人費解:

複製程式碼 程式碼如下:


SimpleXMLElement Object
(
[foo] => Array
(
[0] => SimpleXMLElement Object
(
[bar] => SimpleXMLElement Object
(
[bar] => hello
)
[1] => SimpleXMLElement Object
(
[bar] => world
)
)
)
SimpleXMLElement Object
( 🎜>[bar] => hello
)



明明print_r顯示foo是一個有兩個bar元素的數組,但是最後卻只顯示了一個bar元素!
原因其實很簡單,在如上所示simplexml_load_string的結果裡,foo並不是數組,而是迭代物件!
可以這樣確認:

複製程式碼

程式碼如下:



foreach ($data->foo as $vv) print_r($v);
foreach ($data->children() as $v) print_r($v);


看來,print_r或var_dump之類的表象並不完全可信,自己多留心。

以上就介紹了too simple too naive PHP中simplexml_load_string函數使用說明,包括了too simple too naive方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn