ホームページ > バックエンド開発 > PHPの問題 > PHP配列をJSONオブジェクト配列に変換する

PHP配列をJSONオブジェクト配列に変換する

PHPz
リリース: 2023-04-14 19:01:20
オリジナル
215 人が閲覧しました

PHP は、使いやすさと柔軟性で広く使用されている Web プログラミング言語です。 PHP では、配列は重要なデータ型であり、Web 開発やデータ処理で広く使用されています。実際には、通常、ブラウザ側とサーバー側の間のデータ転送を容易にするために、配列を JSON オブジェクトの配列に変換する必要があります。この記事では、PHP 配列を JSON オブジェクト配列に変換する方法とテクニックを紹介します。

JSON オブジェクト配列とは何ですか?

JSON (JavaScript Object Notation) は、JavaScript から開発された軽量のデータ交換形式です。データはキーと値のペアの形式で保存され、Web ブラウザーやサーバーで簡単に解析して生成できます。 JSON オブジェクト配列は複数の JSON オブジェクトで構成される配列であり、通常はデータの送信、データの保存、またはデータ ソースとして使用されます。

PHP 配列を JSON オブジェクト配列に変換する方法

PHP には、PHP 配列を JSON 形式の文字列に変換できる json_encode() 関数が付属しています。ただし、PHP 配列を JSON オブジェクト配列に変換するには、json_encode() 関数にいくつかのパラメーター設定が必要です。

<code class="php">// 创建一个PHP数组
$arr = array(
    array('name' => 'Tom', 'age' => 20),
    array('name' => 'Jack', 'age' => 21),
    array('name' => 'Lucy', 'age' => 22)
);
// 将PHP数组转换为JSON对象数组
$json_arr = json_decode(json_encode($arr), true);
// 输出JSON对象数组
var_dump($json_arr);</code>
ログイン後にコピー

上記のコードでは、$arr は複数の連想配列で構成されるインデックス配列です。 json_encode() 関数を使用して JSON 形式の文字列に変換し、次に json_decode() 関数を使用して JSON オブジェクト配列に変換し、$json_arr 変数に代入します。最後に、var_dump() 関数を使用してその内容を出力します。

上記のコードを実行すると、$output_arr 変数の内容が次のようになっていることがわかります:

<code>array(3) {
  [0]=>
  array(2) {
    ["name"]=>
    string(3) "Tom"
    ["age"]=>
    int(20)
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(4) "Jack"
    ["age"]=>
    int(21)
  }
  [2]=>
  array(2) {
    ["name"]=>
    string(4) "Lucy"
    ["age"]=>
    int(22)
  }
}</code>
ログイン後にコピー

上記のコードは、JSON 形式のルールに従って PHP 配列を変換し、JSON オブジェクト配列を生成します。各要素は、インデックスまたはキー名によってアクセスできる JSON オブジェクトです。

json_encode() 関数のパラメータ設定

json_encode() 関数は、PHP 変数を JSON 形式に変換する最も重要な関数の 1 つです。その完全な構文は次のとおりです:

<code>string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )</code>
ログイン後にコピー

その中で、$value パラメータは次のとおりです。 JSON 形式の PHP 変数にエンコードされます。$options パラメーターは、一般的に使用されるオプションのパラメーターです。

  • JSON_HEX_QUOT: " を u0022 に置き換えます。
  • JSON_PRETTY_PRINT: JSON 文字列を読みやすくし、各レベルのデータの前に追加します。改行とインデント。
  • JSON_UNESCAPED_UNICODE: Unicode 文字を uXXXX 形式にエンコードしません。
  • 数値インデックス配列を JSON オブジェクト配列に変換する場合は、通常、JSON_FORCE_OBJECT オプションを使用します。に生成される JSON 文字列が常に JSON オブジェクトであることを確認してください。例:
<code class="PHP">    $json_arr = json_decode(json_encode($arr, JSON_FORCE_OBJECT), true);</code>
ログイン後にコピー

さらに、JSON 文字列のサイズを減らすために、データにスペース、改行、タブなどを入れすぎないでください。

概要

PHP 配列は Web 開発において重要なデータ構造であり、JSON オブジェクト配列に変換した後、実際には json_encode() 関数を使用して PHP を変換できます。配列を JSON 形式の文字列に変換し、 json_decode() 関数を使用して JSON オブジェクト配列に変換する必要があります。 json_encode() 関数を使用する場合は、生成された文字列がJSON 文字列は期待どおりであり、意味のない文字があまり含まれていないため、データ送信効率が向上します

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

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