Memelihara Aksara Titik dalam Nama Pembolehubah PHP daripada Input GET, POST dan COOKIE
Dalam PHP, aksara titik (.) dalam nama pembolehubah melalui permintaan GET, POST atau COOKIE digantikan secara automatik dengan garis bawah (_). Ini boleh menjadi masalah dalam senario tertentu.
Penjelasan Gelagat PHP
Menurut dokumentasi PHP, titik bukan aksara yang sah dalam nama pembolehubah PHP. PHP menukarnya kepada garis bawah untuk mengelakkan ralat sintaks. Aksara berikut juga ditukar kepada garis bawah:
Melumpuhkan Automatik Penggantian
Malangnya, tiada pilihan konfigurasi PHP terbina dalam untuk melumpuhkan tingkah laku penggantian automatik ini. Walau bagaimanapun, anda boleh menukar garis bawah kembali secara manual kepada titik dalam skrip anda.
Penyelesaian: Penggantian Selepas Pemprosesan
Kaedah 1: Menggunakan str_replace
Kod berikut menggantikan semua garis bawah dengan titik menggunakan str_replace fungsi:
<?php $var_with_underscores = $_SERVER['REQUEST_URI']; $var_with_dots = str_replace('_', '.', $var_with_underscores);
Kaedah 2: Menggunakan preg_replace
Anda juga boleh menggunakan ungkapan biasa untuk melakukan penggantian:
<?php $var_with_underscores = $_SERVER['REQUEST_URI']; $var_with_dots = preg_replace('/_/', '.', $var_with_underscores);
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Aksara Titik dalam Nama Pembolehubah PHP daripada Input Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!