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

Wie konvertiere ich ein PHP-Array mit „json_encode' in ein JSON-Array?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-03 13:12:12663Durchsuche

How Do I Convert a PHP Array to a JSON Array Using `json_encode`?

Konvertieren eines PHP-Arrays in ein JSON-Array mit json_encode

Bei der Arbeit mit PHP-Arrays ist es wichtig zu verstehen, wie diese bei der Verwendung in JSON dargestellt werden json_encode. Standardmäßig werden PHP-Arrays als JSON-Objekte codiert, wenn ihre Schlüssel nicht sequentiell sind.

Betrachten Sie das folgende PHP-Array:

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

Beim Versuch, dieses Array mit json_encode zu codieren, würde das Ergebnis sei das folgende JSON-Objekt:

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

Dieses Verhalten tritt auf, weil die Array-Schlüssel nicht sequentiell sind (0 und 2). Um das Array als JSON-Array zu kodieren, müssen alle Schlüssel sequentiell sein.

Lösung: Neuindizierung mit array_values

Um das Array in ein sequentielles Format zu konvertieren, verwenden Sie array_values Funktion:

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

Dies indiziert das Array neu, beginnend bei 0, um sequentielle Schlüssel sicherzustellen. Das resultierende JSON wird zu einem Array:

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

Wenn Sie die PHP-Array-Darstellung in JSON verstehen und array_values ​​für die sequentielle Neuindizierung verwenden, können Sie PHP-Arrays mit json_encode erfolgreich als JSON-Arrays kodieren.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein PHP-Array mit „json_encode' in ein JSON-Array?. 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