我在PHP上看到如果我发送一个名为[]的参数列表,在服务器端它会自动将这些值保存到数组中。
因此,例如,如果我通过GET发送值:
<input type="checkbox" name="customArray[]" value="1" checked="checked" /> 1
<input type="checkbox" name="customArray[]" value="2" checked="checked" /> 2
<input type="checkbox" name="customArray[]" value="3" checked="checked" /> 3
我可以使用$ _GET ['customArray']在PHP上访问该数组。
我想知道这种行为:它是一种标准行为吗?它是由指令驾驶的吗?我可以禁用/能够这个吗?等等...
我不想创建我的应用程序并且知道在某些年份(也许)这将不再可用:)
答案 0 :(得分:2)
不,你无法禁用它。
将来不会无效。或者,如果是这样的话,它可能只会与语言的巨大其他更改一起完成,这会使许多其他代码也被破坏。简而言之,不要担心向前兼容此功能;它不会去任何地方。
事实上,使用它是常见的。
答案 1 :(得分:1)
如果您不想创建阵列,请不要在字段名称中使用[]
表示法。这将恢复到标准做法,其中重复的名称字段将相互覆盖,最后一个被发送为“赢家”。
这是PHP中的标准行为。其他语言可能会或可能不会尊重此类构造。据我所知,没有指令在PHP中启用它 - 它始终存在且无法禁用。
答案 2 :(得分:1)
当您有多个chceckbox时,可以使用这种数据管理方式,例如,如果您正在进行一些民意调查,表单等。但如果您不想使用数组样式,则可以重命名它们(checkbox1, checkbox2, checkbox3
代替checkboxes[] checkboxes[] checkboxes[]
)