こういうエントリは山のようにあるけど、インシデントにぶち当たると再認識させられるので勇気を出して投稿。
よくある話ですが、、、
以下のようなコードってよく見るよね。ほんと。とてもよく
$json = json_decode($json, true);
var_dump($json); //json_decodeが失敗したとき、空になる。
何が問題なの?
ってみんな知ってると思うけど・・・
json_decode
って失敗しちゃうとnullになるのね。
そりゃデコードできなかったわけだから 当たり前 なのよ。
問題は、元の値を特定できなくなるって点にあるわけで・・・
$jsonなのに中身配列とか言うのも変数名的に???となるわけで・・・
とにかく、変数の再利用をしないでください、おばーちゃんとの約束よ
$array = json_decode($json, true);
var_dump($array);//空だけど
var_dump($json);//元の値は保持したままとなる