ホームページ > バックエンド開発 > PHPチュートリアル > 「json_encode」を使用して PHP 配列を JSON 配列としてエンコードするにはどうすればよいですか?

「json_encode」を使用して PHP 配列を JSON 配列としてエンコードするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-21 18:51:10
オリジナル
590 人が閲覧しました

How to Encode a PHP Array as a JSON Array Using `json_encode`?

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 サイトの他の関連記事を参照してください。

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