Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah PHP Mengendalikan Tempoh dalam Nama Pembolehubah daripada GET, POST dan Cookies?

Bagaimanakah PHP Mengendalikan Tempoh dalam Nama Pembolehubah daripada GET, POST dan Cookies?

Susan Sarandon
Lepaskan: 2024-12-08 22:44:10
asal
680 orang telah melayarinya

How Does PHP Handle Periods in Variable Names from GET, POST, and Cookies?

Nama Pembolehubah PHP dan Penggantian Aksara

Dalam PHP, adalah amalan biasa untuk menghantar medan permintaan atau kuki dengan noktah/titik (. ) dalam nama mereka. Walau bagaimanapun, PHP secara automatik menggantikan titik ini dengan garis bawah (_). Tingkah laku ini timbul daripada penggunaan titik oleh PHP untuk penyambungan nama pembolehubah.

Penjelasan

Menurut dokumentasi PHP, aksara titik (.) tidak dibenarkan dalam nama pembolehubah. Ini boleh membawa kepada tingkah laku yang tidak dijangka apabila menggabungkan pembolehubah, seperti yang ditunjukkan dalam contoh kod PHP di bawah:

$varname.ext;  /* invalid variable name */
Salin selepas log masuk

Dalam contoh di atas, PHP akan mentafsirkan sebelah kanan (ext) sebagai rentetan. Untuk mengelakkan ini, PHP menggantikan titik dalam nama pembolehubah masuk dengan garis bawah.

Akibat

Tingkah laku penggantian ini bukan sahaja mempengaruhi parameter GET dan POST tetapi juga kuki. Contohnya, jika kuki dengan nama "x.y" ditetapkan, PHP akan menukarnya secara automatik kepada "x_y" dalam perwakilan dalamannya.

Penyelesaian

Sementara itu tidak mungkin untuk menghalang penggantian dot-to-underscore PHP, terdapat penyelesaian untuk mendapatkan semula nama pembolehubah asal dengan titik. Satu penyelesaian ialah menggunakan fungsi str_replace() untuk menggantikan garis bawah kembali ke titik selepas membaca pembolehubah, seperti yang dicadangkan dalam ulasan dawnerd.

Atas ialah kandungan terperinci Bagaimanakah PHP Mengendalikan Tempoh dalam Nama Pembolehubah daripada GET, POST dan Cookies?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan