Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk menukar json kepada array dalam php

Bagaimana untuk menukar json kepada array dalam php

Apr 20, 2023 am 10:07 AM

Dalam PHP, menukar JSON kepada tatasusunan ialah operasi biasa. JSON ialah format pertukaran data ringan yang semakin popular di kalangan pembangun kerana kebolehbacaan dan mudah alihnya. Apabila menggunakan PHP untuk pemprosesan JSON, anda boleh menggunakan fungsi terbina dalam PHP untuk menukar data JSON kepada tatasusunan. Dalam artikel ini, kita akan belajar cara menukar JSON kepada tatasusunan menggunakan PHP.

  1. Gunakan fungsi json_decode() untuk menukar JSON kepada tatasusunan

PHP menyediakan fungsi yang dipanggil "json_decode()", yang boleh menukar data JSON kepada tatasusunan PHP. Fungsi ini mengambil dua parameter, yang pertama ialah rentetan JSON yang anda mahu tukar dan yang kedua ialah parameter boolean pilihan yang menentukan sama ada untuk menukar JSON kepada tatasusunan bersekutu. Secara lalai, nilai parameter ini adalah palsu, yang bermaksud tatasusunan biasa dikembalikan.

Berikut ialah contoh rentetan JSON:

$json_string = '{
  "name": "John",
  "age": 30,
  "city": "New York"
}';
Salin selepas log masuk

Tukar rentetan JSON kepada tatasusunan bersekutu dengan memanggil fungsi json_decode():

$array = json_decode($json_string, true);
Salin selepas log masuk

Kini, kita boleh mendapatkan nilai data JSON dengan mengakses kunci tatasusunan, contohnya:

echo $array['name']; // 输出:John
echo $array['age']; // 输出:30
echo $array['city']; // 输出:New York
Salin selepas log masuk
  1. Menyokong penghuraian JSON Cina

Jika dalam Rentetan JSON Mengandungi aksara Cina, yang memerlukan pemprosesan khas untuk dihuraikan dengan betul. Anda boleh menggunakan fungsi terbina dalam PHP json_decode() bersama dengan json_last_error_msg() untuk menyelesaikan masalah ini.

$json_string = '{"中文": "这是一个中文字符串"}';
$array = json_decode($json_string, true);

if (json_last_error() === JSON_ERROR_UTF8) {
    $json_string = mb_convert_encoding($json_string, 'UTF-8', 'UTF-8');
    $array = json_decode($json_string, true);
}

echo $array['中文']; // 输出:这是一个中文字符串
Salin selepas log masuk
  1. Apabila terdapat berbilang peringkat sarang dalam rentetan JSON

Apabila terdapat berbilang tahap sarang dalam data JSON, anda boleh menggunakan kaedah rekursif . Tukar JSON kepada tatasusunan berbilang dimensi. Seperti yang ditunjukkan di bawah:

$json_string = '{
  "name": "John",
  "age": 30,
  "city": "New York",
  "children": [
    {
      "name": "Mary",
      "age": 5
    },
    {
      "name": "Bob",
      "age": 3
    }
  ]
}';
$array = json_decode($json_string, true);

function json_to_array($data) {
    if (is_object($data)) {
        $data = get_object_vars($data);
    }
    if (is_array($data)) {
        return array_map(__FUNCTION__, $data);
    } else {
        return $data;
    }
}

$array = json_to_array($array);

print_r($array); // 输出:
/*
Array
(
    [name] => John
    [age] => 30
    [city] => New York
    [children] => Array
        (
            [0] => Array
                (
                    [name] => Mary
                    [age] => 5
                )

            [1] => Array
                (
                    [name] => Bob
                    [age] => 3
                )

        )

)
*/
Salin selepas log masuk

Dalam artikel ini kami memperkenalkan beberapa kaedah untuk menukar JSON kepada tatasusunan. Sama ada ia daripada rentetan JSON ringkas atau data JSON bersarang berbilang lapisan, fungsi json_decode() PHP boleh menyelesaikan tugas penghuraian dengan baik. Saya harap artikel ini dapat membantu anda menggunakan PHP dengan lebih baik untuk memproses data JSON.

Atas ialah kandungan terperinci Bagaimana untuk menukar json kepada array dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1667
14
Tutorial PHP
1273
29
Tutorial C#
1255
24