Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie ein PHP-Array in ein JSON-Objekt

So konvertieren Sie ein PHP-Array in ein JSON-Objekt

PHPz
PHPzOriginal
2023-04-17 16:36:45979Durchsuche

In PHP ist Array eine der häufigsten Datenstrukturen. Aufgrund der zunehmenden Beliebtheit des Datenaustauschs und der Front-End- und Back-End-Trennung kann man mittlerweile sagen, dass das JSON-Datenformat weit verbreitet ist. Wie konvertiert man also ein Array in PHP in ein JSON-Objekt? Dieser Artikel gibt die Antwort.

1. Verwenden Sie die in PHP integrierte Funktion json_encode()

PHP bietet eine integrierte Funktion json_encode(), um PHP-Arrays in JSON-Objekte zu konvertieren. Die Funktion json_encode() akzeptiert eine PHP-Variable als Parameter und kodiert die Variable in einen JSON-formatierten String. Unten finden Sie ein Beispiel für die Verwendung der Funktion json_encode() zum Konvertieren eines PHP-Arrays in ein JSON-Objekt.

$my_array = [1, 2, 'hello', 'world'];
 
$json_string = json_encode($my_array);
 
echo $json_string;

Die Ausgabe des obigen Codes lautet wie folgt:

[1,2,"hello","world"]

Es ist zu beachten, dass der zweite optionale Parameter $option der Funktion json_encode() standardmäßig 0 ist, was bedeutet, dass das Ausgabeergebnis keine Einrückung enthält. Sie können die Ergebnisse besser lesbar machen, indem Sie diesen Parameter auf JSON_PRETTY_PRINT setzen.

2. Verwenden Sie die in PHP integrierte Funktion json_decode()

Entsprechend der Funktion json_decode() stellt PHP auch die Funktion json_decode() zum Konvertieren von JSON-Formatzeichenfolgen in PHP-Arrays bereit. Im Folgenden erfahren Sie, wie Sie json_decode( verwenden. )-Funktion zum Beispiel für die Konvertierung eines JSON-Objekts in ein PHP-Array.

$json_string = '[1,2,"hello","world"]';
 
$my_array = json_decode($json_string);
 
var_dump($my_array);

Das Ausgabeergebnis ist:

array(4) { [0]=> int(1) [1]=> int(2) [2]=> string(5) "hello" [3]=> string(5) "world" }

Es ist zu beachten, dass die Funktion json_decode() standardmäßig JSON-Strings in stdClass-Objekte konvertiert. Wenn Sie es in ein PHP-Array konvertieren möchten, können Sie den zweiten Parameter der Funktion json_decode() auf true setzen, wie unten gezeigt:

$json_string = '{"name": "Tom", "age": 18}';
 
$my_array = json_decode($json_string, true);
 
var_dump($my_array);

Das Ausgabeergebnis ist:

array(2) { ["name"]=> string(3) "Tom" ["age"]=> int(18) }

3 Verwenden Sie die PHP-Klassenbibliothek

Für erweiterte Bearbeitungsvorgänge an JSON-Daten können Sie JSON-Bibliotheken in PHP verwenden, z. B. pecl-json oder jsonlint. Diese Bibliotheken bieten mehr Optionen und Funktionen als die Funktionen json_encode() und json_decode().

Mit der Klassenbibliothek pecl-json können Sie beispielsweise ganz einfach ein PHP-Array in ein JSON-Objekt konvertieren:

use \JsonSerializable;
 
class MyArray implements JsonSerializable
{
    private $arr;
 
    public function __construct($arr = [])
    {
        $this->arr = $arr;
    }
 
    public function jsonSerialize()
    {
        return $this->arr;
    }
}
 
$my_array = new MyArray([1, 2, 'hello', 'world']);
 
$json_string = json_encode($my_array);
 
echo $json_string;

Das Ausgabeergebnis lautet:

[1,2,"hello","world"]

Bei der Konvertierung eines PHP-Objekts in ein JSON-Objekt ist Folgendes zu beachten , müssen Sie zulassen, dass dieses PHP-Objekt die JsonSerializable-Schnittstelle implementiert. Nach der Implementierung der JsonSerializable-Schnittstelle ruft die Funktion json_encode() die Schnittstellenmethode jsonSerialize() auf, um das PHP-Objekt in ein JSON-Objekt zu konvertieren.

Fazit

In diesem Artikel wird erklärt, wie man in PHP ein Array in ein JSON-Objekt konvertiert. Mithilfe der in PHP integrierten Funktionen json_encode() und json_decode() können wir grundlegende Datenformate problemlos konvertieren. Wenn Sie erweiterte JSON-Datenbearbeitungsvorgänge durchführen müssen, können Sie die JSON-Klassenbibliothek in PHP verwenden. Schauen wir uns unser Beispiel noch einmal an. Ohne andere Bibliotheken zu verwenden, können Sie Arrays wie folgt in JSON konvertieren:

$my_array = [1, 2, 'hello', 'world'];

$json_string = json_encode($my_array);

$result_array = json_decode($json_string, true);

So einfach und so praktisch!

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein PHP-Array in ein JSON-Objekt. 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