Heim >Backend-Entwicklung >PHP-Problem >PHP konvertiert Array in JSON-Array

PHP konvertiert Array in JSON-Array

PHPz
PHPzOriginal
2023-04-14 19:01:16145Durchsuche

PHP ist eine beliebte serverseitige Skriptsprache, die für die Entwicklung von Webanwendungen verwendet wird. Bei der Entwicklung von Webanwendungen ist es häufig erforderlich, Daten im JSON-Format an das Frontend zurückzugeben. In PHP ist die Konvertierung von Rohdatentypen in JSON sehr praktisch. In diesem Artikel wird erläutert, wie Sie in PHP ein Array in ein JSON-Array konvertieren.

  1. Verwenden Sie die Funktion json_encode().
    Verwenden Sie in PHP die Funktion json_encode(), um ein Array in das JSON-Format zu konvertieren. Diese Funktion empfängt einen Parameter, nämlich das zu konvertierende Array, und der Rückgabewert ist eine Zeichenfolge im JSON-Format.

Das Folgende ist ein Beispielcode, der die Funktion json_encode() verwendet, um ein Array in ein JSON-Array zu konvertieren:

<code><?php
$arr = array('name' => '张三', 'age' => 20, 'gender' => '男');
echo json_encode($arr);
?></code>

Durch Ausführen des obigen Codes wird Folgendes ausgegeben: Folgende Ergebnisse:

<code>{"name":"\u5f20\u4e09","age":20,"gender":"\u7537"}</code>

Wie Sie sehen können, hat der obige Code das Array erfolgreich in ein JSON-Array konvertiert. Die Funktion json_encode() maskiert alle Unicode-Zeichen, um sicherzustellen, dass die generierten JSON-Daten zulässig sind.

  1. Verarbeitung chinesischer Schriftzeichen
    In praktischen Anwendungen ist es häufig erforderlich, chinesische Schriftzeichen zu verarbeiten, und die json_encode()-Funktion von PHP konvertiert chinesische Schriftzeichen in Unicode, wenn chinesische Schriftzeichen verarbeitet werden , was dazu führt, dass einige unfreundlich aussehende Zeichen in den JSON-Daten erscheinen.

Um dieses Problem zu lösen, können Sie den Parameter JSON_UNESCAPED_UNICODE zur Funktion json_encode() hinzufügen. Dieser Parameter weist die Funktion json_encode() an, chinesische Zeichen nicht zu maskieren und so die ursprünglichen chinesischen Zeichen beizubehalten.

Das Folgende ist ein Beispielcode, der den Parameter JSON_UNESCAPED_UNICODE verwendet, um ein Array in ein JSON-Array zu konvertieren:

<code><?php
$arr = array('name' => '张三', 'age' => 20, 'gender' => '男');
echo json_encode($arr, JSON_UNESCAPED_UNICODE);
?></code>

Durch Ausführen des obigen Codes werden die folgenden Ergebnisse ausgegeben: #🎜🎜 #

<code>{"name":"张三","age":20,"gender":"男"}</code>
Ja Sie können sehen, dass nach Verwendung des Parameters JSON_UNESCAPED_UNICODE die chinesischen Zeichen im JSON-Array in ursprüngliche chinesische Zeichen codiert wurden.

    Verarbeitung mehrdimensionaler Arrays
  1. In praktischen Anwendungen ist es manchmal notwendig, mehrdimensionale Arrays in JSON-Arrays umzuwandeln.
Wir müssen also zunächst eine rekursive Funktion verwenden, um festzustellen, ob der aktuelle Wert ein Array ist. Rufen Sie die Funktion dann rekursiv auf, bis der aktuelle Wert kein Array mehr ist .

Das Folgende ist ein Beispielcode zum Konvertieren eines mehrdimensionalen Arrays in ein JSON-Array:

<code><?php
$arr = array(
    array('name' => '张三', 'age' => 20, 'gender' => '男'),
    array('name' => '李四', 'age' => 22, 'gender' => '女'),
    array('name' => '王五', 'age' => 24, 'gender' => '男')
);
echo json_encode($arr, JSON_UNESCAPED_UNICODE);

function array_to_json($array) {
    if (!is_array($array)) {
        return null;
    }
    $json = '[';
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $value = array_to_json($value);
        } else {
            $value = json_encode($value, JSON_UNESCAPED_UNICODE);
        }
        if ($json != '[') {
            $json .= ',';
        }
        $json .= $value;
    }
    $json .= ']';
    return $json;
}

$new_arr = array(
    'name' => '张三',
    'info' => array(
        'age' => 20,
        'address' => array(
            'province' => '广东省',
            'city' => '深圳市'
        )
    )
);
echo array_to_json($new_arr);
?></code>
Durch Ausführen des obigen Codes werden die folgenden Ergebnisse ausgegeben:

<code>[{"name":"张三","age":20,"gender":"男"},{"name":"李四","age":22,"gender":"女"},{"name":"王五","age":24,"gender":"男"}]
{"name":"张三","info":{"age":20,"address":{"province":"\u5e7f\u4e1c\u7701","city":"\u6df1\u5733\u5e02"}}}</code>
Ja Es ist ersichtlich, dass das mehrdimensionale Array über die Funktion array_to_json() erfolgreich in ein JSON-Array konvertiert wurde.

Das obige ist der detaillierte Inhalt vonPHP konvertiert Array in 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