| Category:雑記 | Comment

PHPのjson_decodeでJSONが配列にならない

Ajax使ってJSON型でデータ受け取って云々やるときに
json_decodeを使ったら配列でなくobjectになるんだけどと聞かれ
確認してみたら、 json_decodeに第2引数が無かった。

マニュアルにも、

$json = ‘{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}’;
var_dump(json_decode($json));
var_dump(json_decode($json, true));

これの結果は、

object(stdClass)#1 (5) {
[“a”] => int(1)
[“b”] => int(2)
[“c”] => int(3)
[“d”] => int(4)
[“e”] => int(5)
}
array(5) {
[“a”] => int(1)
[“b”] => int(2)
[“c”] => int(3)
[“d”] => int(4)
[“e”] => int(5)
}

こうなる。

ってしっかりマニュアルに書いてあるので配列で欲しければ、

$array = json_decode($json, true);

と第2引数にtrueを入れれば良いわけでした。
マニュアル読んでください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください