LoginSignup
0
0

More than 3 years have passed since last update.

phpのjson_encodeでjsonの形式を空配列と空のオブジェクトで識別するオプション

Last updated at Posted at 2020-02-17

phpでjsonの形式にエンコードする際に連想配列を用いていることが多いと思いますが、
空の配列の場合はどうなるでしょう。

普通にデフォルトで指定するとこうなります

$a = [];

var_dump(json_encode($a));
出力結果
string(2) "[]"

あれ?jsonって{}になるんじゃないの?って思った方もいると思います。
そこのjsonの形式を変更させるオプションがJSON_FORCE_OBJECTです。

これを使うと空配列[]ではなく{}と変換されます。

JSON_FORCE_OBJECTを指定した場合とデフォルトの場合

$a = [];

var_dump(json_encode($a));
var_dump(json_encode($a, JSON_FORCE_OBJECT));
出力結果
string(2) "[]"
string(2) "{}"

JSON_FORCE_OBJECTパラメータはphp5.3.0からoptionsパラメータに追加されました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0