PHP JSONを連想配列にデコードする(json_decode)

PHPのJSONを連想配列にデコードするサンプルです。

確認環境
・PHP 7.2.8

目次

json_decode関数

json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
  • json_decode関数は、JSONをデコードして変数に格納します。
  • 1つめの引数にJSON文字列を指定します。
  • 2つめの引数をfalseにするとオブジェクトを返します。デフォルトです。
  • 2つめの引数をtrueにすると連想配列形式のオブジェクトを返します。
  • 2つめ以降の引数は省略可能です。
  • 以下は、PHPマニュアルのjson_decodeのリンクです。
    https://www.php.net/manual/ja/function.json-decode.php

JSONを連想配列にデコードする

JSONを連想配列形式のオブジェクトにデコードするサンプルです。

<?php

$a = '{"color1":"赤","color2":"青"}';

$b = json_decode($a,true);

print $b["color1"]; //赤

var_dump($b);
//array(2) { ["color1"]=> string(3) "赤" ["color2"]=> string(3) "青" }

?>

3行目は、JSON文字列です。
5行目は、json_decode関数でデコードしています。2つめの引数をtrueにしています。
7行目は、キーを指定して値を表示しています。連想配列の指定の仕方です。
9行目は、JSON文字列をデコードした結果を表示しています。

 

JSONをオブジェクトにデコードする

JSONをオブジェクトにデコードするサンプルです。

<?php

$a = '{"color1":"赤","color2":"青"}';

$b = json_decode($a);

print $b->{"color1"}; //赤

var_dump($b);
//object(stdClass)#1 (2) { ["color1"]=> string(3) "赤" ["color2"]=> string(3) "青" }

?>

3行目は、JSON文字列です。
5行目は、json_decode関数でデコードしています。2つめの引数がない場合デフォルトでfalseになりオブジェクトを返します。
7行目は、キーを指定して値を表示しています。
9行目は、JSON文字列をデコードした結果を表示しています。

関連の記事

PHP 連想配列をJSONにエンコードする(json_encode)
PHP 変数から連想配列を作成するサンプル(compact)
PHP 配列の仕組みと使い方のサンプル

△上に戻る