查詢字串陣列:一項複雜的努力
雖然透過查詢字串輕鬆傳遞陣列的能力似乎很直觀,但事實是沒有標準化的方法。根據可靠消息來源,對數組的查詢字串支援仍未定義。
迎接挑戰
儘管缺乏明確的解決方案,但已經出現了幾種傳輸多數據的方法透過GET/POST 變數取得欄位或陣列的值:
表單建置注意事項
為了促進多值欄位提交,表單可以利用各種技術:
依賴於框架的解釋
重要的是認識到查詢字串陣列的解釋是特定於框架的。例如,Rails 和Angular 對數組的解釋不同:
Rails: { "list_a": "3", "list_b": ["1", "2", "3"], "list_c": "1,2,3" } Angular: { "list_a": ["1", "2", "3"], "list_b[]": ["1", "2", "3"], "list_c": "1,2,3" }
維護順序
如果數組中元素的順序至關重要,那麼最可行的選擇仍然是傳遞分隔清單並手動將其轉換為陣列。
JavaScript 和 PHP偵測
在 JavaScript 和 PHP 中,沒有直接的方法來辨識陣列參數。然而,以相同的名稱命名多個參數可以作為一種指示:
?myarray=value1&myarray=value2&myarray=value3...
雖然這種方法可以避免歧義,但它可能不被認為是程式碼可讀性和維護的最佳實踐。
以上是如何透過查詢字串有效地傳遞數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!