Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich sicherstellen, dass mein PHP-Array als JSON-Array und nicht als Objekt kodiert?

Wie kann ich sicherstellen, dass mein PHP-Array als JSON-Array und nicht als Objekt kodiert?

Mary-Kate Olsen
Freigeben: 2024-12-26 02:42:09
Original
282 Leute haben es durchsucht

How Can I Ensure My PHP Array Encodes as a JSON Array, Not an Object?

PHP-Arrays als JSON-Arrays kodieren

Das Dilemma der Konvertierung eines PHP-Arrays in ein JSON-Array statt in ein Objekt entsteht, wenn das PHP-Array hat nichtsequentielle Schlüssel. Standardmäßig interpretiert json_encode() Arrays als Objekte, wenn die Schlüssel nicht sequentiell sind.

Um dieses Problem zu beheben, ist es wichtig, die JSON RFC 8259-Spezifikation zu verstehen. Es definiert ein Array als eckige Klammern, die durch Kommas getrennte Werte einschließen. Um ein JSON-Array zu generieren, muss das PHP-Array daher aufeinanderfolgende numerische Schlüssel (0, 1, 2, ...) haben.

Im gegebenen Beispiel hat das PHP-Array die Schlüssel 0 und 2, aber nicht 1 . Diese nicht-sequentielle Schlüsselstruktur veranlasst json_encode(), das Array als Objekt zu behandeln.

Um dies zu beheben und das Array als JSON-Array zu kodieren, muss es neu indiziert werden nacheinander mit array_values(). Diese Funktion erstellt ein neues Array mit aufeinanderfolgenden numerischen Schlüsseln und wandelt das ursprüngliche Array effektiv in ein für die JSON-Codierung akzeptables Format um.

Der folgende Codeausschnitt zeigt, wie Sie array_values() verwenden, um das gewünschte Ergebnis zu erzielen:

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

Das obige ist der detaillierte Inhalt vonWie kann ich sicherstellen, dass mein PHP-Array als JSON-Array und nicht als Objekt kodiert?. 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