Latest web development tutorials
×

PHP コース

PHP コース PHP 簡単な紹介 PHP インストール PHP 文法 PHP 変数 PHP echo/print PHP データの種類 PHP 定数 PHP 文字列 PHP 演算子 PHP If...Else PHP Switch PHP 配列 PHP 配列のソート PHP スーパーグローバル PHP While 循環 PHP For 循環 PHP 関数 PHP マジック変数 PHP 名前空間 PHP オブジェクト指向の

PHP フォーム

PHP フォーム PHP フォーム認証 PHP フォーム - 必要なフィールド PHP フォーム - 確認メールおよびURL PHP 完全なフォームインスタンス PHP $_GET 変数 PHP $_POST 変数

PHP 応用チュートリアル

PHP 多次元配列 PHP 日付 PHP 含みます PHP ファイル PHP ファイルのアップロード PHP Cookie PHP Session PHP E-mail PHP セキュリティ E-mail PHP Error PHP Exception PHP フィルタ PHP 高度なフィルタ PHP JSON

PHP 7 新機能

PHP 7 新機能

PHP データベース

PHP MySQL 簡単な紹介 PHP MySQL 接続 PHP MySQL データベースの作成 PHP MySQL データテーブルを作成します。 PHP MySQL データを挿入 PHP MySQL 複数のデータの挿入 PHP MySQL プリペアドステートメント PHP MySQL データを読みます PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX 簡単な紹介 AJAX PHP AJAX データベース AJAX XML AJAX 実時間探索 AJAX RSS Reader AJAX 投票

PHP リファレンスマニュアル

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP 画像処理 PHP RESTful

PHP JSON

この章では、我々はJSONオブジェクトをエンコードし、デコードするためにPHP言語を使用する方法を紹介します。


環境構成

php5.2.0では上記のJSON拡張を構築しています。


JSON関数

関数 説明
json_encode 変数は、JSONでエンコードされます
json_decode PHP変数に変換された文字列のJSONフォーマットのデコード、
json_last_error 最後にエラーが発生しました返します

json_encode

JSONエンコードされた変数のためのPHPのjson_encode()が正常に実行された場合、関数は、それ以外の場合はFALSEを返し、JSONデータを返します。

文法

string json_encode ( $value [, $options = 0 ] )

パラメータ

  • 値:値を符号化します。この関数は、UTF-8でエンコードされたデータに対してのみ有効です。
  • オプション:JSON_HEX_QUOT、JSON_HEX_TAG、JSON_HEX_AMP、JSON_HEX_APOS:以下の定数バイナリマスクからなる、JSON_NUMERIC_CHECK、JSON_PRETTY_PRINT、JSON_UNESCAPED_SLASHES、JSON_FORCE_OBJECT

次の例では、JSON形式のデータにどのようにPHPの配列を示しています。

<?php
   $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
   echo json_encode($arr);
?>

上記のコードは、の結果として実行されます。

{"a":1,"b":2,"c":3,"d":4,"e":5}

次の例では、JSON形式のデータにどのようにPHPのオブジェクトを示しています。

<?php
   class Emp {
       public $name = "";
       public $hobbies  = "";
       public $birthdate = "";
   }
   $e = new Emp();
   $e->name = "sachin";
   $e->hobbies  = "sports";
   $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p");
   $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03"));

   echo json_encode($e);
?>

上記のコードは、の結果として実行されます。

{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}

json_decode

PHPのjson_decode()関数は、JSON文字列の書式を設定するために使用される復号化されたPHP変数に変換されます。

文法

mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

パラメータ

  • json_string:復号化されるJSON文字列はUTF-8でエンコードされたデータでなければなりません

  • ASSOC:このパラメータがTRUEの場合、それは、配列を返すオブジェクトFALSEを返します。

  • 深さ:再帰の深さを指定する整数値

  • オプション:バイナリマスク、現在唯一のJSON_BIGINT_AS_STRINGをサポートしています。

次の例では、JSONデータをデコードする方法を示しています。

<?php
   $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)
}