これら 2 つの関数を紹介する前に、json について話しておきたいと思います。皆さんが JSON についてどれだけ知っているかはわかりませんが、しばらく PHP に触れてきたので、JSON についてある程度の印象は持っていると思いますが、それはデータ型であるということだけを知っているだけです。比較的軽量。しかし、私はその構造について本当に漠然としており、実際に使用するまで理解していませんでした。そのため、実践は、あなたが本当の知識を習得したかどうかをテストする非常に効果的な方法です。
1 つ目は、json_encode() です。これは、データを json 形式に変換することを意味します。 それでは、どのタイプのデータを json 形式に変換できるでしょうか? 1. オブジェクト。
クラスを定義し、新しいオブジェクトを作成すると、オブジェクトを JSON 形式に変換できます
<?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"}
2. 配列。
キーと値のペアの配列を定義します
<?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 形式に変換できるデータ型は、オブジェクトとキーと値のペアの配列であることです
2 つ: その後に json_decode()が続きます。 JSON 形式の文字列をデコードし、PHP 変数に変換します。
コードから始めましょう
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) }
ここでは、最初の印刷結果がオブジェクトであり、2 番目の結果がキーと値のペアの配列であることが明確にわかります。
このようにして、json_decode() の 2 番目のパラメーターをうまく説明できます:
true の場合: 配列を返し、false (デフォルトは false) の場合: オブジェクトを返します。
関連する推奨事項:
phpのjson_encode()関数の詳細な説明PHPのjson_encode()関数の詳細な説明と中国語文字化け問題PHPのjson_encode()関数の紹介以上がphpのjson_encode()関数とjson_decode()関数の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。