SimpleXMLアトリビュートを配列にエスケープする方法はありますか?SimpleXMLアトリビュートへの配列
$result = $xml->xpath($xpath);
$element = $result[ 0 ];
$attributes = (array) $element->attributes();
$attributes = $attributes[ '@attributes' ];
キー/値のペアを抽出するだけでループする必要はありません。私が必要とするのは、それを配列に入れて渡すことだけです。私はattributes()
がデフォルトでそれをやっただろうと思っていたでしょう。しかし、私は上記の解決策をどこからでも見つけることができず、私はそれを私自身で理解しなければなりませんでした。これを複雑にすることは何ですか?
編集:私は@attributesアレイにアクセスすることは安全であるかどうかを確実に知るまで、私はまだ上記のスクリプトを使用してい
。
はい、問題はそれ自体がSimpleXML要素だと考えているため、正しく動作させるには '$ attr ['a']'を文字列に型変換する必要があります。私はこの配列を、どのような型であるかを知らない別のクラスに渡しているだけで、配列でなければなりません。 – mseancole
ああ、あなたが編集でそれを持っています...ループは私が現在やっているものより "良い"ですか?私はループを使わないでこれを行うほうが速いと思うだろう。 – mseancole
@showerhead:それが良いかどうかは分かりませんが、私はいつも ''@ attributes''プロパティを直接読まないことを学んできました。 –