ホームページ > バックエンド開発 > PHPチュートリアル > simpleXML オブジェクトからデータを読み取れない場合はどうすればよいですか?

simpleXML オブジェクトからデータを読み取れない場合はどうすればよいですか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 14:01:47
オリジナル
967 人が閲覧しました

この投稿は joebnb によって最終編集されました: 2014-02-26 11:01:22

class just{	function xmlInclude($data){		$xml = simplexml_load_file(dirname(__FILE__).'/jump.xml');		foreach($xml->Keyword->xpath("//*[data='$data']") as $item){		  return $item;		}	}}$TR = new just;$cr = $TR->xmlInclude(查询);print_r($cr);$cr=(array)$cr;echo '<br>';print_r($cr);
ログイン後にコピー

simplexml 解析を作成しました。print_r は、出てきたものは配列ではなく simpleXML オブジェクトであることがわかりました
SimpleXMLElement Object ( [data] => 查询 [page] => Array ( [0] => dbcon.php [1] => select.php [2] => footer.php ) ) Array ( [data] => 查询 [page] => Array ( [0] => dbcon.php [1] => select.php [2] => footer.php ) )
ログイン後にコピー

値を抽出する方法その中で、Baidu で、答えは配列に変換することです。私もこれを試みました
しかし、それが出た後、
echo $cr[0].$cr[0][0].$cr[1][0]
ログイン後にコピー

値を取得できず、次のプロンプトが表示されました:
Notice: 未定義のオフセット: 0 in D :Program filesWEB EditphpLight2013WWWCorexml.php の 23 行目
注意: 未定義のオフセット: D:Program filesWEB EditphpLight2013WWWCorexml.php の 23 行目

simplexml obj から値を直接取得するにはどうすればよいですか?このように配列内に配列がある場合、値を取得するにはどうすればよいでしょうか?


ディスカッションへの返信(解決策)

$cr = $TR->xmlInclude(查询);echo $cr->data;echo $cr->page[1];
ログイン後にコピー
ログイン後にコピー

$cr = $TR->xmlInclude(查询);echo $cr->data;echo $cr->page[1];
ログイン後にコピー
ログイン後にコピー

ありがとうございます!それが配列の場合はどうなるのかも知りたいです。私は初心者なので、遭遇するすべてを理解したいです

$cr=(array)$cr;
echo $cr['data']; $cr['page'][1];

注: $cr=(array)$cr; は、第 1 レベルのオブジェクトを配列に変換するだけです


モデレーター、ありがとうございます。 ~~

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