我遇到了一個HTML表單,其中一個字段是多選字段。當我提交表單作爲POST一切正常,我可以看到並使用該數組。作爲GET提交時,表單的多選部分僅顯示string(5) "Array"
。字面上的字Array
。我正在使用內置在調試工具包中的CakePHP查看查詢字符串。
這是URL
http://www.domain.com/?keywords=&location%5B%5D=12333&location%5B%5D=42123
的重要組成部分,這裏被定位陣列。但是,當我看着服務器變量它變爲:
Query String keywords=&location=Array
這裏location
只是打印字Array
。無論我嘗試什麼,我都無法將位置數組傳遞給PHP。有沒有在php.ini
允許這個設置?有沒有其他方法可以正確地工作?爲了保存搜索,我需要這個GET查詢。
的$_GET
var_dump
(上述情況略有不同的查詢):
array(10) {
["agent"]=> string(0) ""
["price_min"]=> string(1) "0"
["price_max"]=> string(9) "987654321"
["beds"]=> string(0) ""
["baths"]=> string(0) ""
["mls"]=> string(0) ""
["pool"]=> string(1) "0"
["spa"]=> string(1) "0"
["keywords"]=> string(0) ""
["location"]=> string(5) "Array"
}
你能否解釋一下嗎? – Rymn
URL編碼的PHP數組的字符串表示形式如何?也許使用[serialize](http://php.net/manual/en/function.serialize.php)...但真的,聽起來你應該看看發送POST。或者,如果數組不太複雜,則將它分解爲像GET那樣的鍵/對值。 – ficuscr
你不應該使用'$ _GET'變量。這就是'$ this-> request-> data'和'$ this-> request-> query'的用途。嘗試使用'debug($ this-> request-> query)' – Eagle