Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar rentetan json kepada tatasusunan atau objek dalam php

Bagaimana untuk menukar rentetan json kepada tatasusunan atau objek dalam php

PHPz
PHPzasal
2023-04-20 10:12:07752semak imbas

Apabila menggunakan PHP untuk pembangunan web, kami sering berurusan dengan data JSON. Jika data yang kami terima ialah data JSON dalam bentuk rentetan, maka kami perlu menukarnya menjadi objek atau tatasusunan dalam PHP untuk pemprosesan seterusnya. Dalam artikel ini, kita akan membincangkan cara menukar data JSON dalam bentuk rentetan kepada objek atau tatasusunan.

1. Tukar rentetan kepada objek JSON

Pertama, kita perlu menggunakan fungsi json_decode() dalam PHP untuk menukar rentetan JSON kepada objek JSON. Sintaks fungsi ini adalah seperti berikut:

json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0): mixed

Antaranya, parameter $json menunjukkan rentetan JSON yang perlu ditukar, parameter $assoc menunjukkan sama ada hendak menukar objek JSON yang ditukar menjadi bentuk tatasusunan; parameter $depth Menunjukkan kedalaman rekursi maksimum; $options

Kod sampel adalah seperti berikut:

$json_string = '{"name":"张三","age":18}';
$json_obj = json_decode($json_string);
var_dump($json_obj);
Hasil keluaran:

object(stdClass)#1 (2) {
  ["name"]=>
  string(6) "张三"
  ["age"]=>
  int(18)
}
Seperti yang dinyatakan di atas, gunakan fungsi

untuk menukar rentetan JSON kepada objek JSON dan return ialah objek json_decode() dalam PHP. stdClass

2. Tukar rentetan kepada tatasusunan JSON

Jika kita perlu menukar rentetan JSON kepada tatasusunan dalam PHP, kita boleh menetapkan parameter

kepada $assoc. Kod sampel adalah seperti berikut: true

$json_string = '[{"name":"张三","age":18},{"name":"李四","age":20}]';
$json_arr = json_decode($json_string, true);
var_dump($json_arr);
Hasil keluaran:

array(2) {
  [0]=>
  array(2) {
    ["name"]=>
    string(6) "张三"
    ["age"]=>
    int(18)
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(6) "李四"
    ["age"]=>
    int(20)
  }
}
Seperti yang dapat dilihat daripada contoh di atas, selepas penukaran, data yang pada asalnya merupakan objek JSON, seperti sebagai

, Ditukar kepada bentuk tatasusunan dalam PHP, seperti {"name":"张三","age":18}. ["name" => "张三", "age" => 18]

3. Tukar rentetan kepada tatasusunan objek JSON

Dalam aplikasi praktikal, kita mungkin perlu menukar rentetan JSON yang terdiri daripada berbilang objek JSON kepada tatasusunan objek dalam PHP.

Kod sampel adalah seperti berikut:

$json_string = '[{"name":"张三","age":18},{"name":"李四","age":20}]';
$json_obj_arr = json_decode($json_string);
var_dump($json_obj_arr);
Hasil keluaran:

array(2) {
  [0]=>
  object(stdClass)#2 (2) {
    ["name"]=>
    string(6) "张三"
    ["age"]=>
    int(18)
  }
  [1]=>
  object(stdClass)#3 (2) {
    ["name"]=>
    string(6) "李四"
    ["age"]=>
    int(20)
  }
}
Berbanding dengan menukar rentetan JSON kepada tatasusunan, menukarnya kepada tatasusunan objek adalah lebih rumit beberapa operasi. Dalam kod contoh ini, fungsi

digunakan untuk menukar rentetan kepada tatasusunan objek JSON. Hasil pulangan ialah tatasusunan yang terdiri daripada berbilang objek json_decode(). stdClass

Ringkasnya, memproses data JSON ialah bahagian penting dalam proses pembangunan web. Melalui pengenalan artikel ini, anda telah mempelajari cara menukar rentetan JSON kepada objek atau tatasusunan dalam PHP dan cara menukar rentetan JSON yang terdiri daripada berbilang objek kepada tatasusunan objek dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan json kepada tatasusunan atau objek 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