[請益] 如何抓出有 . 的GET傳入變數?

看板PHP作者 (程式猿)時間12年前 (2011/11/02 13:28), 編輯推噓1(1015)
留言16則, 1人參與, 最新討論串1/1
最近呼叫的Web API比較特別(應該是我少見多怪), 用GET方法回傳的變數名稱是有點的".",像是 user.id user.email user.nickname ... 所以直接用 $_GET['user_id']抓不到東西... 請問這種命名方式的變數要怎麼讀到啊? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.71.13

11/02 13:40, , 1F
你可以先 var_dump($_GET); 我在我的機器上測試有 . 的沒
11/02 13:40, 1F

11/02 13:40, , 2F
問題,. 會自己轉成 _
11/02 13:40, 2F

11/02 13:41, , 3F
test_get.php?user.id=test&user.nick=hello
11/02 13:41, 3F

11/02 13:41, , 4F
array(2) { ["user_id"]=> string(4) "test" ["user_nick"
11/02 13:41, 4F

11/02 13:41, , 5F
]=> string(5) "hello" }
11/02 13:41, 5F
原來有這招啊,感恩,可以看到一堆亂七八糟的東西了 (還沒做處理)。 不過,如果非要去解析那個 . 有辦法嗎? 剛才有查到類似的教學 http://stackoverflow.com/questions/1861990/how-to-set-url-parameters-in-an-array (http://preview.tinyurl.com/3enuw8h) 不過有看沒有懂,似乎是PHP5的東西?

11/02 14:25, , 6F
你堅持要是 $_GET['user.id'] 而不是 $_GET['user_id']嗎
11/02 14:25, 6F

11/02 14:27, , 7F
看你提供的範例是 openid,你是要做 openid 嗎?不考慮直
11/02 14:27, 7F

11/02 14:27, , 8F
接找 openid 套件處理這段@@?
11/02 14:27, 8F
也不是堅持啦,因為用var_dump()會印出全部的解析結果,加@也沒用, 而且也滿好奇如何處理有『 . 』字元的GET變數~ 另外我正在嘗試串接各家的OpenID-Like Web API, 算是正在重新打造輪子吧 ※ 編輯: codemonkey 來自: 59.124.71.13 (11/02 15:14)

11/02 16:09, , 9F
其實我有點不懂解析 . 的 get 變數是什麼意思@@,
11/02 16:09, 9F

11/02 16:10, , 10F
你可以舉個例子,從 input 到你理想的 output 是怎樣嗎?
11/02 16:10, 10F
因為var_dump()會把array內容也印出來,目前尋找其他解決方式 (來解決GET傳入訊息包含『.』符號、$_GET無法正確讀取的問題) ※ 編輯: codemonkey 來自: 59.124.71.13 (11/02 16:51)

11/02 17:05, , 11F
我的意思是你可以用 var_dump 把 get 拿出來看看,你可以
11/02 17:05, 11F

11/02 17:06, , 12F
自己在處理 get 裡面的東西,你喜歡的話就 foreach get
11/02 17:06, 12F

11/02 17:06, , 13F
str_replace('_', '.', $input) 把 _ 換回 .
11/02 17:06, 13F

11/02 17:08, , 14F
我在看了一次,你的意思是,你有可能同時有 user_id,
11/02 17:08, 14F

11/02 17:08, , 15F
user.id 這兩個 get 的變數傳入嘛?
11/02 17:08, 15F
感謝你的提示,問題解決了...原來我要做的是 str_replace('_', '.', $_GET); (原來可以$_GET是字串陣列,我一直以為是function) 表達能力有待加強... ※ 編輯: codemonkey 來自: 59.124.71.13 (11/02 17:30)

11/02 17:33, , 16F
XD
11/02 17:33, 16F
文章代碼(AID): #1EiDJpBL (PHP)