通过查询字符串传递数组不是标准化做法。尽管如此,可以采用各种技术来模拟数组行为。
标准语法:
虽然没有明确的标准,但在参数名称中使用方括号(例如, myarray[]) 是一种常见方法,允许 PHP 将值解释为array.
多值表单字段:
使用带有 name[]= 语法的多选框:
<select multiple="multiple" name="cars[]"> <option>Volvo</option> <option>Saab</option> <option>Mercedes</option> </select>
使用多个具有相同内容的隐藏字段名称:
<input type="hidden" name="cars[]" value="Volvo"> <input type="hidden" name="cars[]" value="Saab"> <input type="hidden" name="cars[]" value="Mercedes">
在代码中识别数组:
PHP:
如果参数名称遵循[]语法,PHP会自动将其转换为array.
JavaScript:
没有本地方法来识别查询字符串中的数组。但是,可以手动检查是否存在多个同名值:
const queryString = window.location.search; const params = new URLSearchParams(queryString); if (params.has("myarray")) { // It's an array }
命名多个参数:
使用多个同名参数是可以接受但不推荐。这不是标准做法,可能会导致混乱,尤其是在多个上下文中使用参数时。
分隔值:
如果维护项目的顺序至关重要,考虑传递一个分隔字符串并手动将其解析为数组。
以上是如何在查询字符串中传递数组?的详细内容。更多信息请关注PHP中文网其他相关文章!