Melepaskan Garis Miring Hadapan dalam json_encode()
Apabila bekerja dengan JSON dalam PHP, adalah perkara biasa untuk menghadapi garis miring ke hadapan yang terlepas ("/") semasa pengekodan. Ini kerana JSON_ENCODE() melarikan diri secara automatik daripada aksara ini, yang boleh menimbulkan masalah dalam situasi tertentu.
Sebagai contoh, apabila anda menyahkod data JSON yang ditarik daripada Instagram menggunakan json_decode($response)->data, anda mungkin memerlukan untuk menghuraikan pembolehubah ke dalam tatasusunan PHP, menyusun semula data dan mengekod semula untuk caching. Walau bagaimanapun, apabila membuka fail cache, anda mungkin perasan bahawa garis miring ke hadapan telah dilepaskan, menyerupai "http://distilleryimage4.instagram.com/410e7...".
Untuk mengelakkan pelarian automatik ini, anda boleh menggunakan bendera JSON_UNESCAPED_SLASHES dalam PHP 5.4 atau lebih baru:
json_encode($str, JSON_UNESCAPED_SLASHES);
Walau bagaimanapun, jika anda menggunakan versi PHP yang lebih awal, anda perlu mengubah suai fungsi sedia ada secara manual untuk memenuhi keperluan anda. Pertimbangkan untuk merujuk sumber seperti https://snippets.dzone.com/posts/show/7487 untuk mendapatkan panduan.
Berikut ialah demonstrasi mudah:
$url = 'http://www.example.com/'; echo json_encode($url), "\n"; // Output: "http:\/\/www.example.com\/" echo json_encode($url, JSON_UNESCAPED_SLASHES), "\n"; // Output: "http://www.example.com/"
Dengan memahami cara mengawal garis miring ke hadapan melarikan diri dalam json_encode(), anda boleh mengurus data dengan berkesan semasa operasi berkaitan JSON.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Melarikan Slash Hadapan dalam `json_encode()` PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!