Heim >Backend-Entwicklung >PHP-Tutorial >Wie kodiere ich PHP-Arrays als JSON-Arrays anstelle von JSON-Objekten?

Wie kodiere ich PHP-Arrays als JSON-Arrays anstelle von JSON-Objekten?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-07 18:53:13311Durchsuche

How to Encode PHP Arrays as JSON Arrays Instead of JSON Objects?

JSON-Arrays vs. JSON-Objekte: PHP-Arrays für JSON kodieren

Beim Umgang mit PHP-Arrays und JSON ist es wichtig, den Unterschied zwischen JSON-Arrays und JSON-Objekten zu verstehen . JSON-Arrays werden durch eckige Klammern dargestellt, während JSON-Objekte geschweifte Klammern verwenden.

In Ihrem PHP-Array sind die Schlüssel numerisch (0 und 2). Um jedoch als JSON-Array codiert zu werden, müssen PHP-Arrays sequentielle Schlüssel haben, die bei 0 beginnen.

Das Standardverhalten von json_encode besteht darin, Ihr Array als JSON-Objekt zu codieren, weshalb Sie das Ergebnis erhalten Du hast es beschrieben. Um stattdessen ein JSON-Array zu erhalten, müssen Sie Ihr PHP-Array sequentiell mit array_values() neu indizieren.

$input = [
    [
        'id' => 0,
        'name' => 'name1',
        'short_name' => 'n1'
    ],
    [
        'id' => 2,
        'name' => 'name2',
        'short_name' => 'n2'
    ]
];

$output = json_encode(array_values($input));

Nach der Neuindizierung ist die Ausgabe von json_encode wie gewünscht ein gültiges JSON-Array:

[
    {
        "id": 0,
        "name": "name1",
        "short_name": "n1"
    },
    {
        "id": 2,
        "name": "name2",
        "short_name": "n2"
    }
]

Das obige ist der detaillierte Inhalt vonWie kodiere ich PHP-Arrays als JSON-Arrays anstelle von JSON-Objekten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn