Beim Codieren eines Arrays mit json_encode() können numerische Schlüssel manchmal dazu führen, dass der resultierende JSON-String statt eines Objekts ein Objekt enthält ein Array. Dieses Problem entsteht, weil JavaScript-Arrays eine fortlaufende numerische Indizierung erfordern.
Um dieses Problem zu lösen, ohne auf Regex-Manipulationen zurückzugreifen, verwenden Sie array_values() für die äußere Array-Struktur. Diese Funktion entfernt die ursprünglichen Schlüssel und ersetzt sie durch eine auf Null basierende fortlaufende Nummerierung. Hier ist ein Beispiel:
// Non-consecutive numeric keys in a PHP array $array = array( 2 => array("Afghanistan", 32, 13), 4 => array("Albania", 32, 12) ); // Remove original keys and create consecutive numbers $out = array_values($array); // Encode the modified array echo json_encode($out); // Output: [[Afghanistan, 32, 13], [Albania, 32, 12]]
Dieser Ansatz stellt sicher, dass die codierte JSON-Zeichenfolge wie erwartet ein Array von Arrays ist.
Das obige ist der detaillierte Inhalt vonWie kodiere ich ein PHP-Array mit nicht aufeinanderfolgenden numerischen Schlüsseln als JSON-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!