ホームページ >バックエンド開発 >PHPチュートリアル >「json_encode」を使用して PHP 配列を JSON 配列に変換するにはどうすればよいですか?
json_encode を使用した PHP 配列から JSON 配列への変換
PHP 配列を扱う場合、使用時に JSON でどのように表現されるかを理解することが重要です。 json_エンコード。デフォルトでは、PHP 配列は、キーが連続していない場合、JSON オブジェクトとしてエンコードされます。
次の PHP 配列について考えてみましょう:
$input = [ [ "id" => 0, "name" => "name1", "short_name" => "n1" ], [ "id" => 2, "name" => "name2", "short_name" => "n2" ] ];
json_encode を使用してこの配列をエンコードしようとすると、結果は次のようになります。次の JSON オブジェクトである必要があります:
{ "0": { "id": 0, "name": "name1", "short_name": "n1" }, "2": { "id": 2, "name": "name2", "short_name": "n2" } }
この動作は、配列キーが連続していないために発生します。 (0 と 2)。配列を JSON 配列としてエンコードするには、すべてのキーがシーケンシャルである必要があります。
解決策: array_values を使用したインデックスの再作成
配列をシーケンシャル形式に変換するには、array_values を使用します。 function:
$output = json_encode(array_values($input));
これにより、配列のインデックスが 0 から再作成され、キーが連続することが保証されます。結果として得られる JSON は配列になります。
[ { "id": 0, "name": "name1", "short_name": "n1" }, { "id": 2, "name": "name2", "short_name": "n2" } ]
JSON での PHP 配列表現を理解し、array_values を使用して順次インデックスを再作成することにより、json_encode を使用して PHP 配列を JSON 配列として正常にエンコードできます。
以上が「json_encode」を使用して PHP 配列を JSON 配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。