Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar json ke array dalam php
Cara menukar json kepada tatasusunan dalam php: 1. Cipta fail sampel PHP 2. Tentukan data JSON 3. Tukar json kepada tatasusunan melalui kaedah "json_decode($json,true)".
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Cara menukar json kepada tatasusunan dalam php?
json_decode()
Fungsi ini digunakan untuk menukar teks json ke dalam struktur data PHP yang sepadan.
Berikut ialah contoh:
$json ='{"foo": 12345}'; $obj = json_decode($json); print $obj->{'foo'};// 12345
Biasanya, json_decode() sentiasa mengembalikan objek PHP, bukan tatasusunan. Contohnya:
$json ='{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json));
Hasilnya ialah menjana objek PHP:
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
Jika anda ingin memaksa penjanaan tatasusunan bersekutu PHP, json_decode() perlu menambah parameter true:
$json ='{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json,true));
Hasilnya ialah tatasusunan bersekutu:
array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
Tiga cara menulis json berikut semuanya salah. Bolehkah anda melihat di mana ralatnya?
Ralat biasa json_decode()
$bad_json ="{ 'bar': 'baz' }"; $bad_json ='{ bar: "baz" }'; $bad_json ='{ "bar": "baz", }';
Ralat pertama ialah pembatas json (pembatas) hanya membenarkan penggunaan petikan berganda, bukan petikan petikan tunggal markah. Kesilapan kedua ialah "nama" (bahagian di sebelah kiri kolon) pasangan nilai nama json mesti menggunakan petikan berganda dalam apa jua keadaan. Ralat ketiga ialah anda tidak boleh menambah koma mengekor selepas nilai terakhir. Melaksanakan json_decode() pada tiga rentetan ini akan mengembalikan null dan melaporkan ralat.
Selain itu, json hanya boleh digunakan untuk mewakili objek dan tatasusunan Jika json_decode() digunakan pada rentetan atau nilai, null akan dikembalikan.
var_dump(json_decode("Hello World"));//null
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menukar json ke array dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!