Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah PHP dan MySQL mengendalikan nilai boolean dalam JSON?
Bagaimanakah PHP dan MySQL mengendalikan nilai boolean dalam JSON?
Apabila membangunkan halaman web dan aplikasi, selalunya perlu untuk menghantar dan menyimpan data dalam format JSON. JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang mudah dibaca dan ditulis, serta mudah dihuraikan dan dijana. JSON menyokong pelbagai jenis data, termasuk jenis Boolean.
Mengendalikan nilai Boolean dalam JSON ialah tugas biasa dalam PHP dan MySQL. Artikel ini akan memperkenalkan cara mengendalikan nilai Boolean dengan betul dalam JSON dalam PHP dan MySQL, dan memberikan contoh kod yang sepadan.
Fungsi penukaran Boolean dalam PHP adalah sangat mudah Anda hanya perlu menggunakan fungsi (bool) atau (boolval) untuk menukar jenis data lain kepada Boolean.
Berikut ialah contoh menukar rentetan kepada jenis Boolean:
$str = "true"; $bool = (bool)$str; var_dump($bool); // bool(true)
Dalam contoh di atas, selepas menukar rentetan "true" kepada jenis Boolean, hasilnya adalah benar.
PHP menyediakan fungsi yang mudah untuk pengekodan dan penyahkodan JSON, iaitu fungsi json_encode() dan json_decode() masing-masing.
Berikut ialah contoh mengekod tatasusunan yang mengandungi nilai Boolean ke dalam rentetan JSON dan kemudian menyahkodnya kembali:
$data = array( "name" => "John", "age" => 28, "isStudent" => true ); $json = json_encode($data); // 编码为JSON字符串 echo $json; // {"name":"John","age":28,"isStudent":true} $decodedData = json_decode($json); // 解码为PHP对象 var_dump($decodedData);
Dalam contoh di atas, selepas mengekod tatasusunan yang mengandungi nilai Boolean ke dalam rentetan JSON, ia adalah kemudian melalui json_decode() fungsi dinyahkod kembali.
MySQL tidak menyokong penyimpanan data jenis Boolean secara lalai, jadi nilai Boolean perlu ditukar kepada jenis data lain yang sesuai untuk penyimpanan. Pendekatan biasa ialah menggunakan jenis TINYINT, di mana 0 mewakili palsu dan 1 mewakili benar.
Berikut ialah contoh untuk mencipta jadual yang mengandungi medan Boolean dan memasukkan sekeping data:
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50), isStudent TINYINT(1) ); INSERT INTO users(username, isStudent) VALUES('John', 1);
Dalam contoh di atas, jadual pengguna dicipta, di mana medan isStudent digunakan untuk menyimpan data jenis Boolean.
Berdasarkan pengetahuan sebelumnya, berikut adalah contoh menyimpan nilai Boolean dalam PHP ke MySQL dan menanyakannya:
// 将布尔数值存储到MySQL $username = "John"; $isStudent = true; // 转换为MySQL中的布尔类型 $isStudentMySQL = $isStudent ? 1 : 0; // 插入数据 $sql = "INSERT INTO users(username, isStudent) VALUES('$username', $isStudentMySQL)"; $result = $conn->query($sql); // 从MySQL查询数据 $sql = "SELECT * FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $username = $row["username"]; $isStudent = $row["isStudent"]; // 转换为PHP中的布尔类型 $isStudentPHP = $isStudent == 1 ? true : false; // 输出数据 echo "Username: " . $username . ", Is student: " . $isStudentPHP . "<br>"; } } else { echo "0 results"; }
Dalam contoh di atas, nilai Boolean dalam PHP ialah Simpannya dalam MySQL, dapatkan semula data melalui pertanyaan, dan kemudian tukarkannya kepada jenis Boolean dalam PHP untuk digunakan.
Ringkasan:
Apabila memproses nilai Boolean dalam JSON, anda perlu melakukan penukaran Boolean yang betul dalam PHP dahulu, dan kemudian gunakan fungsi json_encode() dan json_decode() untuk mengekod dan menyahkod JSON. Dalam MySQL, nilai Boolean perlu ditukar kepada jenis data lain untuk penyimpanan. Dengan penukaran dan pemprosesan data yang betul, nilai Boolean dalam JSON boleh diproses dengan mudah dalam PHP dan MySQL.
Atas ialah kandungan terperinci Bagaimanakah PHP dan MySQL mengendalikan nilai boolean dalam JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!