質問: json_decode(json_encode($xmlObject), true); var_dump($xmlArray); ``` このvar_dumpの表示結果が上から string(703) " " object(SimpleXMLElement)#89 (0) { } array(0) { } と表示されます。 curlのレスポンスは文字列で返ってくると思うのですが、$xmlをvar_dumpした時のstring(703) " "は 何なのでしょうか?ちなみに$xml[0]でvar_dumpすると一文字だけ格納されています。配列を1,2,3...と確認してみると 直接ターミナルから取得した文字列が一文字ずつ格納されていました。でもimplodeしようとすると配列じゃないとエラーが出ます。 print_rでは何も表示されません。 配列じゃないのにキーを指定すると文字が入ってる。そもそもcurlのレスポンスって文字列なのでは? curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);もちゃんと書いてますし... 質問としましては ・格納されているstring(703) " "は何なのでしょうか? ・そもそも文字列でレスポンスを受け取りたい。そのための必要な記述はありますか? 皆様お手数ではございますがご教授ください。よろしくお願いします。 --更新-- 頂いた回答と調査により、少し解明したことと新たな疑問点を記載します。 ・文字列ではないレスポンスは返ってきている→CURLOPT_RETURNTRANSFERをtrueにしているのに文字列にならないのはなぜ? ・レスポンスをvar_dumpするとstring(703) " "とだけ表示されるがソースを表示するとxmlが表示される→なぜソース表示すると表示される? ・simplexml_load_string()しても文字列ではないからか結果が空になる。 最終的には返ってきたレスポンスを表示するのではなく、レスポンスとして返ってきたxmlを配列にしたいです。 表示は出来なくてもいいので最終的にxmlで書かれたものを配列に出来る方法をご教授ください。 よろしくお願いします
回答: 解決出来ました。 問題点としてはsimplexml_load_stringを実行したときに空になってしまっていたことが 問題でした。xmlのデータにコロンが含まれているとsimplexml_load_stringが正常に 動かないようです。xmlをstr_replaceしてコロンを全て抜いたら正常に表示されました。 回答を頂きありがとうございました。いろいろと勉強になりました。