ホームページ  >  記事  >  バックエンド開発  >  JSON 配列と PHP オブジェクトの特徴と違いの簡単な分析

JSON 配列と PHP オブジェクトの特徴と違いの簡単な分析

PHPz
PHPzオリジナル
2023-04-19 10:08:51757ブラウズ

JSON は、Web 開発で頻繁に使用される一般的なデータ転送形式です。 PHP は、JSON を処理するための関連関数とライブラリも提供します。 PHP では、JSON はオブジェクトまたは配列として表すことができます。この記事では、JSON 配列とオブジェクトの特性と違いに焦点を当てます。

  1. JSON の概要

JSON (JavaScript Object Notation) は、読み取りと書き込みが簡単で、マシンによる解析と生成が簡単な軽量のデータ交換形式です。 JSON は、キーと値のペアと配列という 2 つの構造で構成されます。 PHP では、 json_encode() 関数を使用して配列またはオブジェクトを JSON データ形式に変換でき、 json_decode() 関数を使用して JSON データを PHP 配列またはオブジェクトにデコードできます。

  1. JSON 配列

JSON 配列は順序付けされたコレクション、つまり複数の要素を含むリストです。各要素には、数値、文字列、または Boolean 、 null 、および他の配列またはオブジェクト。 PHP では、配列表記を使用して JSON 配列を作成します。例:

$students = [
    "Tom",
    "Mary",
    "Jack"
];
$json = json_encode($students);
echo $json; // ["Tom","Mary","Jack"]

JSON 配列は角括弧 "[]" でマークされ、各要素はカンマで区切られます。 PHP では、JSON 配列は json_decode() 関数によってデコードされ、PHP 配列に変換されます。次に例を示します。

$students = '["Tom","Mary","Jack"]';
$arr = json_decode($students);
var_dump($arr); //array(3) { [0]=> string(3) "Tom" [1]=> string(4) "Mary" [2]=> string(4) "Jack" }

ご覧のとおり、デコードされた PHP 配列は元の配列と同じ構造を持ち、各要素は、ストレージ形式の対応する添字でマークされます。

  1. JSON オブジェクト

JSON オブジェクトは順序付けされていないコレクション、つまり、各キーと値のペアがカンマで区切られた「キーと値」のペアで構成されるフォームです。別れた。 PHP では、JSON オブジェクトは連想配列表記によって作成されます。例:

$student = [
    "name" => "Tom",
    "age" => 18,
    "score" => 85.5
];
$json = json_encode($student);
echo $json; // {"name":"Tom","age":18,"score":85.5}

JSON オブジェクトは中括弧 "{}" でマークされ、各キーと値のペアは対応する "key:value" で表されます。 " 形状。 PHP では、JSON オブジェクトは json_decode() 関数によってデコードされ、PHP オブジェクトに変換されます。例:

$student = '{"name":"Tom","age":18,"score":85.5}';
$obj = json_decode($student);
var_dump($obj); //object(stdClass)#1 (3) { ["name"]=> string(3) "Tom" ["age"]=> int(18) ["score"]=> float(85.5) }

ご覧のとおり、デコードされた PHP オブジェクトは「->」を使用してプロパティにアクセスし、連想配列へのアクセス方法が異なります。さらに、JSON オブジェクトを PHP 連想配列にデコードする必要がある場合は、2 番目のパラメータを true に設定できます。たとえば、

$student = '{"name":"Tom","age":18,"score":85.5}';
$arr = json_decode($student, true);
var_dump($arr); //array(3) { ["name"]=> string(3) "Tom" ["age"]=> int(18) ["score"]=> float(85.5) }

デコードされた PHP 配列が、連想配列と、各キーと値のペアが対応する「キー => 値」の形式で格納されます。

  1. JSON 配列とオブジェクトの違い

JSON 配列とオブジェクトは構造的に異なり、具体的な違いは次のとおりです:

(1) 配列順序付けされたコレクションで構成されます。各要素は、数値、文字列、ブール値、null、その他の配列またはオブジェクトにすることができます。オブジェクトは「キーと値」のペアで構成され、各キーと値のペアは、キーは文字列型である必要があり、値は数値、文字列、ブール値、null、配列、オブジェクトなどにすることができます。

(2) 配列は角括弧「[]」で表され、各要素はカンマで区切られます。オブジェクトは中括弧「{}」で表され、各キーと値のペアもカンマで区切られます。カンマ。

(3) PHP では、JSON 配列は配列表記を通じて作成され、JSON オブジェクトは連想配列表記を通じて作成され、JSON データは json_decode() 関数を通じて PHP 配列またはオブジェクトにデコードできます。

つまり、JSON 配列とオブジェクトは一般的なデータ形式であり、対応する関数とクラス ライブラリを通じて PHP で変換および処理できます。アプリケーションでは、実際のニーズに応じて異なるデータ形式を選択して使用することで、さまざまなニーズに適切に対応できます。

以上がJSON 配列と PHP オブジェクトの特徴と違いの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。