ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルでの simplexml_load_string 関数の使用手順

PHP_PHP チュートリアルでの simplexml_load_string 関数の使用手順

WBOY
WBOYオリジナル
2016-07-21 15:32:44803ブラウズ

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

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

$string = << ;
hello
/data>

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


不可解:



コードをコピーする 以下のようなコード:
Simplexmlement オブジェクト ( [foo] = & gt; 配列 ( [0] = & gt; simplexmlement オブジェクト
(
[bar] = & gt ; こんにちは
)

[1] => SimpleXMLElement オブジェクト
(
[bar] => ワールド
)
)
)
SimpleXMLElement オブジェクト
(
[bar] => こんにちは
)


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


コードをコピーします

コードは次のとおりです:
foreach ($data->foo as $v) print_r($v); ;children() as $ v) print_r($v); print_r や var_dump の出現は完全に信頼できるものではないようなので、より注意してください。


http://www.bkjia.com/PHPjc/322732.html
www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/322732.html技術記事まず、コードを使用して問題を再現します。一見すると、結果は非常に混乱します。次のようにコードをコピーします。 ?php $string = EOF data foobarhello/bar/foo foobarworld/bar/foo /data EOF; ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。