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を入れれば良いわけでした。
マニュアル読んでください。