PHP での simplexml_load_string 関数の使用手順
Jun 13, 2016 pm 12:12 PM
load
php
simplexml
string
一度
コード
使用説明書
関数
結果
質問
まずコードを使用して問題を再現します
一見すると、結果は非常にわかりにくいです:
コードをコピーします コードは次のとおりです。
<?php
$string = <<<EOF
<data>
<foo><bar>hello</bar>< ;/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 は完全に信頼できるわけではないので、より注意してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
2つのポイント博物館:すべての展示とそれらを見つける場所
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
2つのポイント博物館:すべての展示とそれらを見つける場所
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7125
9


Java チュートリアル
1534
14


Laravel チュートリアル
1256
25


PHP チュートリアル
1205
29


CakePHP チュートリアル
1153
46



Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
