ホームページ >バックエンド開発 >PHPチュートリアル >PHP 配列がオブジェクトではなく JSON 配列としてエンコードされるようにするにはどうすればよいですか?
PHP 配列を JSON 配列としてエンコードする
PHP 配列をオブジェクトではなく JSON 配列に変換するジレンマは、PHP 配列が次の場合に発生します。非連続キーを持っています。デフォルトでは、キーが連続していない場合、 json_encode() は配列をオブジェクトとして解釈します。
この問題に対処するには、JSON RFC 8259 仕様を理解することが重要です。配列は、カンマで区切られた値を角かっこで囲むものとして定義されます。したがって、JSON 配列を生成するには、PHP 配列に連続した数値キー (0、1、2、...) が必要です。
指定された例では、PHP 配列にはキー 0 と 2 がありますが、1 はありません。この非シーケンシャルなキー構造により、 json_encode() は配列をオブジェクトとして扱います。
これを修正して配列を JSON 配列としてエンコードするには、 array_values() を使用して順番にインデックスを再作成する必要があります。この関数は、連続した数値キーを持つ新しい配列を作成し、元の配列を JSON エンコードに受け入れられる形式に効果的に変換します。
次のコード スニペットは、array_values() を使用して目的の結果を達成する方法を示しています。
echo json_encode(array_values($input));
以上がPHP 配列がオブジェクトではなく JSON 配列としてエンコードされるようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。