Heim >Backend-Entwicklung >PHP-Tutorial >Wie kodiere ich ein PHP-Array mit nicht aufeinanderfolgenden numerischen Schlüsseln als JSON-Array?

Wie kodiere ich ein PHP-Array mit nicht aufeinanderfolgenden numerischen Schlüsseln als JSON-Array?

Linda Hamilton
Linda HamiltonOriginal
2024-11-12 06:52:01797Durchsuche

How to Encode a PHP Array with Non-Consecutive Numeric Keys as JSON Array?

Erstellen eines Array-Strings mit json_encode()

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!

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