[英]PHP GET url param with dot in name
有一些似乎不起作用的東西。 說我有一個網址
www.test1.php?WC.id = 12345
然后以下什么都不返回
$_GET['WC.id'];
如果我刪除了WC。 部分,則返回12345。我的URL參數名稱中可以沒有句點嗎?
謝謝
從文檔中 :
重要的是要注意,PHP會自動用下划線替換輸入變量名稱中的所有點。 [...] PHP不可逆地修改包含這些字符的字段名稱,以保持與不推薦使用的register_globals功能的兼容性。
以下是PHP轉換為_(下划線)的字段名稱字符的完整列表(不僅僅是點):
chr(32) ( ) (space) chr(46) (.) (dot) chr(91) ([) (open square bracket) chr(128) - chr(159) (various)
因此,您可以使用WC_id
名稱訪問WC.id
如果使用以下命令獲取所有GET參數:
<?php
var_dump($_GET);
?>
您將看到一個名為WC_id的變量
array (size=1)
'WC_id' => string '12345' (length=5)
所以我認為您需要使用以下參數獲取此參數:
<?php
$WC_id = $_GET['WC_id']; // Here is your 12345
?>
您不應在URL中使用點來傳遞$_GET
。 您可以將其替換為_
,這樣可讀性更好,並且不會有任何問題。
就是www.test1.php?WC_id=12345
和$_GET['WC_id']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.