Heim > Backend-Entwicklung > PHP-Tutorial > Wie kodiere ich ein PHP-Array als JSON-Array mit „json_encode'?

Wie kodiere ich ein PHP-Array als JSON-Array mit „json_encode'?

Barbara Streisand
Freigeben: 2024-12-21 18:51:10
Original
637 Leute haben es durchsucht

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

PHP-Arrays als JSON-Arrays mit json_encode kodieren

In PHP wird die Funktion json_encode verwendet, um PHP-Datenstrukturen in ihre JSON-Gegenstücke zu konvertieren. Standardmäßig werden PHP-Arrays als JSON-Objekte codiert. Es gibt jedoch Szenarien, in denen die Codierung eines Arrays als JSON-Array erforderlich ist.

Problemstellung

Betrachten Sie das folgende PHP-Array:

$array = [
    [
        "id" => 0,
        "name" => "name1",
        "short_name" => "n1"
    ],
    [
        "id" => 2,
        "name" => "name2",
        "short_name" => "n2"
    ]
];
Nach dem Login kopieren

Beim Aufruf von json_encode für dieses Array ist das resultierende JSON ein Objekt:

{
    "0": {
        "id": 0,
        "name": "name1",
        "short_name": "n1"
    },
    "2": {
        "id": 2,
        "name": "name2",
        "short_name": "n2"
    }
}
Nach dem Login kopieren

Dies ist nicht das Gewünschte Ausgabe, da wir stattdessen ein JSON-Array wollen.

Lösung

Um ein PHP-Array als JSON-Array zu kodieren, muss das Array sequentiell sein, d. h. seine Schlüssel müssen fortlaufend sein Ganzzahlen beginnend bei 0. Im bereitgestellten Beispiel sind die Array-Schlüssel 0 und 2, was nicht sequentiell ist.

Um das Array sequentiell zu machen, können wir verwenden array_values-Funktion:

echo json_encode(array_values($array));
Nach dem Login kopieren

Dadurch wird das Array sequentiell neu indiziert und die folgende JSON-Ausgabe erzeugt:

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

Durch die Sicherstellung, dass das Array sequentiell ist, kodiert json_encode es korrekt als JSON-Array .

Das obige ist der detaillierte Inhalt vonWie kodiere ich ein PHP-Array als JSON-Array mit „json_encode'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage