目次
(確認環境:PHP 7)
json_encode関数
json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] ) |
- json_encode関数は、指定した値をエンコードしてJSON形式にした文字列にします。
- 1つめの引数にJSONに変換したい値を指定します。
- 2つめの引数は定数を指定できます。定数の種類は公式ページを参照願います。日本語の場合JSON_UNESCAPED_UNICODEを指定します。
- 2つめ以降の引数は省略可能です。
連想配列をJSONにする
<?php
$a = ['c1'=>'red',
'c2'=>'yello',
'c3'=>'blue'
];
$b = json_encode($a);
var_dump($b);
//string(37) "{"c1":"red","c2":"yello","c3":"blue"}"
?>
3~6行目は、連想配列です。
8行目は、json_encode関数でエンコードしています。
10行目は、値を表示しています。JSON文字列になっています。
日本語の場合はJSON_UNESCAPED_UNICODEを使用
JSON_UNESCAPED_UNICODE |
日本語がある場合、定義済み定数のJSON_UNESCAPED_UNICODEを使用します。
<?php
$a = ['c1'=>'赤',
'c2'=>'黄',
'c3'=>'青'
];
$b = json_encode($a,JSON_UNESCAPED_UNICODE);
var_dump($b);
//string(34) "{"c1":"赤","c2":"黄","c3":"青"}"
?>
3~6行目は、連想配列です。
8行目は、json_encode関数でエンコードしています。2つめの引数は、JSON定数のJSON_UNESCAPED_UNICODEです。指定しない場合は、以下のようになります。
"{"c1":"\u8d64","c2":"\u9ec4","c3":"\u9752"}"
10行目は、値を表示しています。JSON文字列になっています。
以下は、PHPマニュアルのjson_encodeのリンクです。
https://www.php.net/manual/ja/function.json-encode.php
関連の記事
PHP JSONを連想配列にする(json_decode)
PHP 変数から連想配列を作成するサンプル(compact)