ホームページ  >  記事  >  バックエンド開発  >  PHPで配列をJSON形式に変換する方法

PHPで配列をJSON形式に変換する方法

PHPz
PHPzオリジナル
2023-04-18 10:26:11758ブラウズ

PHP は、Web 開発の分野で広く使用されている非常に人気のあるプログラミング言語です。 PHP では、配列は関連データのグループを格納するために使用される非常に一般的なデータ型です。 PHP の配列を JSON 形式に変換する場合、いくつかの特定の関数を通じて実現できるため、異なるアプリケーション間でデータを簡単に転送および処理できます。

1. JSON とは何ですか?

PHP 配列を JSON 形式に変換する方法を紹介する前に、まず JSON とは何かを理解する必要があります。

JSON (JavaScript Object Notation) は軽量のデータ交換形式です。これは JavaScript 言語のサブセットに基づいていますが、さまざまなプログラミング言語で使用できます。 JSON 形式は非常に簡潔で、理解しやすく、読みやすいです。これは、キーと値のペアと配列の 2 つの部分で構成されます。

たとえば、次は単純な JSON 形式の例です:

{
   "name": "Tom",
   "age": 25,
   "address": {
      "city": "Shanghai",
      "street": "Changning Road"
   },
   "phoneNumbers": [
      "123456789",
      "987654321"
   ]
}

上の例では、JSON オブジェクトには 4 つのプロパティ (名前、年齢、住所、電話番号) が含まれています。ここで、address はネストされた JSON オブジェクト、phoneNumbers は配列です。

2. PHP 配列を JSON 形式に変換する方法

PHP では、 json_encode() 関数を使用して配列を JSON 形式に変換できます (例:

<?php
   $arr = array(
      "name" => "Tom",
      "age" => 25,
      "address" => array(
         "city" => "Shanghai",
         "street" => "Changning Road"
      ),
      "phoneNumbers" => array(
         "123456789",
         "987654321"
      )
   );

   $json = json_encode($arr);

   echo $json;
?>
##)。 #In 上の例では、まず PHP 配列 $arr を定義し、次に json_encode() 関数を使用してそれを JSON 形式に変換し、結果を $json 変数に格納します。最後に、echo を通じて JSON 形式の文字列を出力します。

上記の PHP コードを実行すると、出力結果は次のようになります:

{
   "name":"Tom",
   "age":25,
   "address":{
      "city":"Shanghai",
      "street":"Changning Road"
   },
   "phoneNumbers":[
      "123456789",
      "987654321"
   ]
}
ご覧のとおり、PHP 配列が対応する JSON 形式に正常に変換されました。

json_encode() 関数は、デフォルトで PHP 配列を UTF-8 でエンコードされた JSON 文字列に変換することに注意してください。別のエンコード形式に変換する必要がある場合は、関数の 2 番目のパラメーターで指定できます。例:

$json = json_encode($arr, JSON_UNESCAPED_UNICODE);
上記のコードでは、JSON 文字列をエスケープされていない Unicode 文字列に変換します。

3. JSON 形式の文字列を PHP 配列に変換する方法

PHP 配列を JSON 形式に変換するだけでなく、JSON 文字列を PHP 配列に変換することもできます。このプロセスは、json_decode() 関数を通じて実現できます。

たとえば、次はサンプル コードです:

<?php
   $jsonStr = &#39;{
      "name":"Tom",
      "age":25,
      "address":{
         "city":"Shanghai",
         "street":"Changning Road"
      },
      "phoneNumbers":[
         "123456789",
         "987654321"
      ]
   }&#39;;

   $arr = json_decode($jsonStr, true);

   var_dump($arr);
?>
上記のサンプル コードでは、まず JSON 形式の文字列を含む変数 $jsonStr を定義し、次に json_decode() 関数を使用します。それをPHP配列に変換します。関数の 2 番目のパラメーターには、出力結果が配列の形式で返されるように true パラメーターを設定します。最後に、変換された $arr 配列が var_dump() 経由で出力されます。

上記の PHP コードを実行すると、出力結果は次のようになります。

array(4) {
   ["name"]=>
   string(3) "Tom"
   ["age"]=>
   int(25)
   ["address"]=>
   array(2) {
      ["city"]=>
      string(8) "Shanghai"
      ["street"]=>
      string(15) "Changning Road"
   }
   ["phoneNumbers"]=>
   array(2) {
      [0]=>
      string(9) "123456789"
      [1]=>
      string(9) "987654321"
   }
}
出力結果からわかるように、JSON 形式の文字列を PHP 配列に変換することに成功し、それぞれの属性はすべて、対応するキーと値のペアに解析されます。

json_decode() 関数はデフォルトで JSON 文字列をオブジェクト形式に変換することに注意してください。配列形式に変換する必要がある場合は、関数の 2 番目のパラメータで指定できます:

$arr = json_decode($jsonStr, true);
4. まとめ

PHP では、配列を次のように変換すると便利です。 JSON 形式: 異なるアプリケーション間でデータを転送および処理します。 PHP は、配列を JSON 形式に変換する json_encode() 関数と、JSON 文字列を PHP 配列に変換する json_decode() 関数を提供します。実際のニーズに基づいて、これらの関数のどれを使用するかを選択できます。

以上がPHPで配列をJSON形式に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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