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

Bagaimana untuk menukar json ke array dalam php

藏色散人
藏色散人asal
2022-01-20 11:36:189294semak imbas

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)".

Bagaimana untuk menukar json ke array dalam php

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!

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