• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:json_decode戻り値がどうしてもNULL)

json_decodeで戻り値がNULLになる問題の解決方法

このQ&Aのポイント
  • json_decodeを使って取得したデータがNULLになる現象についての質問です。
  • google maps apiを利用して住所からジオコーディングする際に、座標変換ができずに困っています。
  • 質問のソースコードを示しながら、何が間違っているのか教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

まず$geocodeの中身はどうなってるか確かめた? http://php.net/manual/ja/function.file-get-contents.php fopen wrappersが有効じゃないとURLでは取得できないけど設定はどうなってる?

sakatsuku96
質問者

お礼

おふた方にご回答いただき、$geocodeの中身を確認せよ、とのことで、確かにそこを怠っておりました。確かに、$geocode自体がnullでございました。なんともお恥ずかしい限りです。 長年プログラマーをやっておりますが、私自身がよく陥る先入観なるもので、時間的余裕がなかったせいか、確認すべきところを怠っておりました。ご指摘ありがとうございました。 fopen wrappers のphp.iniパラメータも同様でした。 本ロジックがまったく動かないので、他のサーバにソースを移してそちらでも動作確認等々をいろいろい実施していたんですが、その他サーバではパラメータがONになっていたのを目にしたので、当該サーバもONになっている、、、と勘違いしておりました。 確認したところ、当該レンタルサーバではデフォルトOffでした。 大変申し訳ありませんでした。 レンタルサーバなので、直接 php.ini を編集できませんが、htaccess での対応が可能と記載があったため、そちらで対応しようと思っております。 まったくお恥ずかしい限りで、こんなことにわざわざご回答いただいたことに、申し訳ないという気持ちと、感謝の意を表します。 ご回答、ありがとうございました。

その他の回答 (1)

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.2

「根本が分かっていない」とのことですが、問題が起きたときに何をすべきか全く分かっていないことが、そもそもの問題だと思います。まずやるべきことは問題が起こっている場所の特定です。 >Aの部分はたぶん問題なさそうです。 >理由としては、そこにあるURL文字列を直打ちした際にできる jsonファイルを保存し、 >その中身をみると、希望通りの座標データを含む住所データが格納されていました。 ずれています。そんな予想でなく、実行結果で確かめます。 普通ならまず、AとBの間で print($geocode); と書きます。 そうすることで「たぶん問題なさそう」という予想レベルから「間違いなく問題なさそう」かそもそもその時点でおかしいかをはっきりさせます。

sakatsuku96
質問者

お礼

まったく、ご指摘のとおりでございました。 "そもそも" の部分をもっと冷静に調べるべきでした。 ご指摘のとおり、$geocode 自体がnullでした。大変失礼いたしました。 長年プログラマーをやっておりますが、よく "ここは大丈夫なはず!?" という先入観で、不具合を見落とす場面が多々あり、今回もそのようでした。時間的に余裕がなくて、思わずOKWaveを利用してしまいましたが、もっと冷静になるべきでした。 ご回答ありがとうございました。 これで先に進めます。

関連するQ&A