json_encode を使用して PHP 配列を JSON 配列としてエンコードする
PHP では、json_encode 関数を使用して、PHP データ構造を対応する JSON 構造に変換します。デフォルトでは、PHP 配列は JSON オブジェクトとしてエンコードされます。ただし、配列を JSON 配列としてエンコードする必要があるシナリオもあります。
問題ステートメント
以下の PHP 配列を考えてみましょう:
$array = [ [ "id" => 0, "name" => "name1", "short_name" => "n1" ], [ "id" => 2, "name" => "name2", "short_name" => "n2" ] ];
この配列で json_encode を呼び出すと、結果の JSON は次のようになります。 object:
{ "0": { "id": 0, "name": "name1", "short_name": "n1" }, "2": { "id": 2, "name": "name2", "short_name": "n2" } }
代わりに JSON 配列が必要なので、これは望ましい出力ではありません。
解決策
PHP 配列を次のようにエンコードするにはJSON 配列の場合、配列はシーケンシャルである必要があります。つまり、そのキーは 0 から始まる連続した整数である必要があります。提供された例では、配列のキーは 0 です。
配列を順次にするには、array_values 関数を使用します。
echo json_encode(array_values($array));
これにより、配列のインデックスが順次再作成され、次の JSON 出力が生成されます。
[ { "id": 0, "name": "name1", "short_name": "n1" }, { "id": 2, "name": "name2", "short_name": "n2" } ]
配列が順次であることを保証することで、json_encode はそれを JSON として正しくエンコードします。配列。
以上が「json_encode」を使用して PHP 配列を JSON 配列としてエンコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。