Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menghalang PHP daripada Menggantikan Titik dengan Garis Bawah dalam Nama Pembolehubah GET, POST dan COOKIE?
PHP: Halang Penggantian Aksara dalam Nama GET, POST dan COOKIE
PHP secara automatik menggantikan titik dalam nama pembolehubah masuk dengan garis bawah. Tingkah laku ini boleh menjadi tidak diingini dalam beberapa kes. Bagaimanakah kita boleh melumpuhkannya?
Mengapa PHP Menggantikan Titik
Menurut PHP.net, titik bukan aksara yang sah dalam nama pembolehubah. Penghurai akan mentafsirkan "varname.ext" sebagai pembolehubah bernama "varname" diikuti oleh operator gabungan dan rentetan "ext", yang bukan hasil yang dimaksudkan.
Alternatif
Walaupun percubaan untuk menghalang tingkah laku ini, mekanisme penghuraian PHP menjadikannya perlu. Walau bagaimanapun, terdapat cara untuk mengatasinya:
$_POST['x.y'] = str_replace('_', '.', $_POST['x_y']);
RewriteEngine On RewriteRule .* - [E=DOT:_]
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang PHP daripada Menggantikan Titik dengan Garis Bawah dalam Nama Pembolehubah GET, POST dan COOKIE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!