Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar php json kepada array

Bagaimana untuk menukar php json kepada array

PHPz
PHPzasal
2023-04-26 09:10:42438semak imbas

Semasa proses pengaturcaraan PHP, selalunya perlu menukar data format JSON kepada tatasusunan PHP. Ini berguna untuk mengendalikan output bahagian hadapan dan storan data hujung belakang. Artikel ini akan memperkenalkan cara menukar data format JSON kepada tatasusunan PHP melalui fungsi terbina dalam PHP.

Langkah Pertama: Fahami JSON

JSON (JavaScript Object Notation) ialah format pertukaran data yang ringan. Formatnya serupa dengan objek dan tatasusunan dalam JavaScript, jadi ia boleh digunakan oleh banyak bahasa pengaturcaraan. Format JSON standard adalah seperti berikut:

{
    "name": "John Doe",
    "age": 30,
    "city": "New York"
}

Format tatasusunan JSON adalah seperti berikut:

[
    "apple",
    "banana",
    "orange"
]

Langkah 2: Gunakan fungsi json_decode()

Fungsi terbina dalam PHPjson_decode()Boleh menukar rentetan JSON kepada tatasusunan PHP.

$json_data = '{"name": "John Doe", "age": 30, "city": "New York"}';
$array_data = json_decode($json_data, true);

print_r($array_data);

Hasil keluaran:

Array
(
    [name] => John Doe
    [age] => 30
    [city] => New York
)

Langkah 3: Proses tatasusunan dalam objek JSON

Jika rentetan JSON mengandungi tatasusunan, ia diperlukan semasa proses penukaran Beri perhatian kepada beberapa isu.

Sebagai contoh, data JSON berikut mengandungi tatasusunan:

{
   "name": "John Doe",
   "age": 30,
   "hobbies": ["reading", "swimming", "traveling"]
}

Gunakan fungsi json_decode() untuk menukarnya kepada tatasusunan PHP:

$json_data = '{"name": "John Doe", "age": 30, "hobbies": ["reading", "swimming", "traveling"]}';
$array_data = json_decode($json_data, true);

print_r($array_data);

Output hasil:

Array
(
    [name] => John Doe
    [age] => 30
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )
)

Seperti yang anda lihat, nilai hobbies kunci ini ditukar kepada tatasusunan PHP. Jika anda perlu mengakses elemen dalam tatasusunan ini, hanya gunakan subskrip tatasusunan. Contohnya:

echo $array_data['hobbies'][0]; //输出:reading

Langkah 4: Proses objek dalam tatasusunan JSON

Begitu juga, jika rentetan JSON mengandungi objek, anda perlu memberi perhatian kepada beberapa isu semasa proses penukaran.

Sebagai contoh, tatasusunan JSON berikut mengandungi objek:

[
    {
        "name": "John Doe",
        "age": 30,
        "city": "New York"
    },
    {
        "name": "Jane Smith",
        "age": 25,
        "city": "Los Angeles"
    }
]

Gunakan fungsi json_decode() untuk menukarnya kepada tatasusunan PHP:

$json_data = '[{"name": "John Doe", "age": 30, "city": "New York"}, {"name": "Jane Smith", "age": 25, "city": "Los Angeles"}]';
$array_data = json_decode($json_data, true);

print_r($array_data);

Hasil output :

Array
(
    [0] => Array
        (
            [name] => John Doe
            [age] => 30
            [city] => New York
        )

    [1] => Array
        (
            [name] => Jane Smith
            [age] => 25
            [city] => Los Angeles
        )
)

Seperti yang anda lihat, keseluruhan tatasusunan JSON ditukar menjadi tatasusunan PHP Setiap elemen tatasusunan ialah tatasusunan bersekutu, sepadan dengan atribut setiap objek dalam JSON. Sifat dalam objek boleh diakses menggunakan subskrip tatasusunan. Contohnya:

echo $array_data[0]['name']; //输出:John Doe

Ringkasan

Di atas ialah pengetahuan dan kaedah yang berkaitan untuk menukar data format JSON kepada tatasusunan PHP. Perlu diingat bahawa apabila menukar data format JSON, penukaran mungkin gagal disebabkan oleh format JSON yang salah atau masalah struktur tatasusunan. Oleh itu, apabila menggunakan fungsi json_decode() untuk penukaran, anda perlu memastikan bahawa format JSON adalah betul dan struktur tatasusunan PHP yang sepadan sepadan dengan data JSON.

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

Kenyataan:
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