ホームページ > php教程 > php手册 > PHP での simplexml_load_string 関数の使用手順

PHP での simplexml_load_string 関数の使用手順

WBOY
リリース: 2016-06-13 12:12:18
オリジナル
804 人が閲覧しました

まずコードを使用して問題を再現します
一見すると、結果は非常にわかりにくいです:

コードをコピーします コードは次のとおりです。


$string = <<
hello< ;/foo>



$data;

$data; string);

print_r($data);
print_r($data->foo);


結果は次のようになります。不可解:

コードをコピー コードは次のとおりです:


SimpleXMLElement オブジェクト
(
[foo] = > 配列
(
[0] => SimpleXMLElement オブジェクト
(
[bar] => こんにちは
)
[1] => SimpleXMLElement オブジェクト
(
[bar] = > world
)
)
)
SimpleXMLElement オブジェクト
(
[bar] => hello
)


明らかに print_r は foo が 2 つの bar 要素を持つ配列であると表示しますが、最終的には 1 つの bar 要素だけが表示されます。
その理由は実際には非常に簡単です。上記の simplexml_load_string の結果では、foo は配列ではなく、反復可能なオブジェクトです。
次のように確認できます:

コードをコピー コードは次のとおりです:


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


のような表現になるようですprint_r や var_dump は完全に信頼できるわけではないので、より注意してください。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート