コンテキストに関係なく SimpleXML オブジェクトを強制的に文字列に変換する
2023-08-12 20:20:18
質問
例えば、次のようなXMLがあるとします。
<channel>
<item>
<title>This is title 1</title>
</item>
</channel>
以下のコードは、タイトルを文字列として出力するという点で、私が望むことを行っています。
$xml = simplexml_load_string($xmlstring);
echo $xml->channel->item->title;
ここで問題が発生しました。 以下のコードではタイトルを文字列として扱わないため、配列の中に文字列ではなくSimpleXMLオブジェクトが入ってしまうのです。
$foo = array( $xml->channel->item->title );
こんな感じで回避しています。
$foo = array( sprintf("%s",$xml->channel->item->title) );
が、これは醜いようです。
コンテキストに関係なく、SimpleXMLオブジェクトを強制的に文字列にする最も良い方法は何でしょうか?
どのように解決するのですか?
SimpleXMLObjectを文字列に型キャストしてください。
$foo = array( (string) $xml->channel->item->title );
上記のコードは、内部で
__toString()
を呼び出しています。このメソッドはSimpleXMLObjectのマッピングスキームを妨害するため、一般には公開されていませんが、それでも上記の方法で呼び出すことができます。
関連
-
[解決済み】Notice: 非オブジェクトのプロパティを取得しようとしているエラー
-
[解決済み】XAMPPポート80をPID 4の「Unable to open process」が使用中 [重複] XAMPPポート80をPID 4の「Unable to open process」が使用中。]
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】++と*+の意味は何ですか?
-
[解決済み】PDOException SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリがありません。
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み] ある文字列が特定の単語を含んでいるかどうかを確認するにはどうすればよいですか?
-
[解決済み】配列をSimpleXMLに変換する方法
-
[解決済み】文字列配列リソース内の文字列をxmlで参照する。
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】phpのob_start()の使い道は?
-
[解決済み】 $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて]
-
[解決済み】PHP フェイタルエラー。未定義の関数mssql_connect()をコールしています。
-
[解決済み】既に開始されているPHPセッション【重複あり
-
[解決済み] Uncaught SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】Wordpressの子テーマのstyle.cssが効かない。
-
[解決済み] PHP と mod_fcgid: handle_request_ipc 関数で ap_pass_brigade が失敗する。
-
[解決済み] オートロードとは何ですか; spl_autoload、__autoload、spl_autoload_register はどのように使うのですか?
-
[解決済み] PHP product.php?id=1 のような URL を作成する方法
-
[解決済み] $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて