ホームページ > バックエンド開発 > PHPチュートリアル > phpのjson_encode()関数とjson_decode()関数の詳細な説明

phpのjson_encode()関数とjson_decode()関数の詳細な説明

PHPz
リリース: 2023-03-22 09:52:02
オリジナル
24741 人が閲覧しました

これら 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(&#39;m/d/Y h:i:s a&#39;, "8/5/1974 12:20:03 p");
   $e->birthdate = date(&#39;m/d/Y h:i:s a&#39;, 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(&#39;a&#39; => 1, &#39;b&#39; => 2, &#39;c&#39; => 3, &#39;d&#39; => 4, &#39;e&#39; => 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート