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!