Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tatasusunan menjadi json dalam php

Bagaimana untuk menukar tatasusunan menjadi json dalam php

PHPz
PHPzasal
2023-04-26 09:13:54438semak imbas

Dalam pembangunan web, selalunya perlu untuk menukar tatasusunan kepada data format JSON. PHP, sebagai bahasa skrip bahagian pelayan yang digunakan secara meluas, menyediakan banyak kaedah untuk menukar tatasusunan kepada JSON.

  1. Gunakan fungsi json_encode()

fungsi json_encode() ialah fungsi paling asas dalam PHP untuk menukar tatasusunan kepada format JSON. Ia menerima tatasusunan sebagai parameter dan mengembalikan rentetan berformat JSON.

Kod sampel:

<?php
$array = array(&#39;name&#39; => 'Tom', 'age' => 20, 'gender' => 'Male');
$json = json_encode($array);
echo $json;
?>

Hasil keluaran:

{"name":"Tom","age":20,"gender":"Male"}
  1. Memproses aksara Cina

Jika tatasusunan mengandungi bahasa Cina aksara Aksara mungkin kelihatan bercelaru apabila menggunakan fungsi json_encode(). Dalam kes ini, anda boleh menggunakan pilihan JSON_UNESCAPED_UNICODE untuk mengabaikan aksara Unicode yang melarikan diri.

Kod contoh:

<?php
$array = array(&#39;name&#39; => '张三', 'age' => 20, 'gender' => '男');
$json = json_encode($array, JSON_UNESCAPED_UNICODE);
echo $json;
?>

Hasil keluaran:

{"name":"张三","age":20,"gender":"男"}
  1. Mengendalikan tatasusunan bersarang

Jika tatasusunan bersarang Jika tatasusunan atau objek lain digunakan, fungsi json_encode() mungkin tidak ditukar dengan betul. Pada masa ini, anda perlu menggunakan fungsi rekursif untuk memproses setiap peringkat tatasusunan.

Kod sampel:

<?php
$array = array(
  &#39;name&#39; => 'Tom',
  'age' => 20,
  'gender' => 'Male',
  'contacts' => array(
    'email' => 'tom@example.com',
    'phone' => '123456789'
  )
);
$json = json_encode_recursive($array);
echo $json;

function json_encode_recursive($array) {
  array_walk_recursive($array, function(&$value, &$key) {
    if (is_string($value)) {
      $value = urlencode($value);
    }
  });
  return urldecode(json_encode($array));
}
?>

Hasil output:

{"name":"Tom","age":20,"gender":"Male","contacts":{"email":"tom%40example.com","phone":"123456789"}}

Di atas ialah beberapa kaedah menukar tatasusunan kepada JSON menggunakan PHP. Perlu diingatkan bahawa data JSON mesti mematuhi spesifikasi format tertentu, jika tidak, data itu mungkin tidak dihuraikan atau digunakan. Dalam pembangunan sebenar, kita perlu memahami sintaks asas dan peraturan JSON, dan memilih kaedah pemprosesan yang sesuai mengikut keperluan tertentu.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan menjadi json 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