Form input field names containing square brackets like field[index]

前端 未结 3 1410
青春惊慌失措
青春惊慌失措 2020-11-28 13:17

I\'ve seen a lot of PHP code that handles form input in which the input field names contain square brackets. I understand that this somehow results in PHP arrays when a PHP

3条回答
  •  春和景丽
    2020-11-28 13:55

    To my knowledge, this is a mechanism of PHP internally seeing (and parsing) elements passed via form (GET/POST) with the [] postfix and interpreting them as an array of elements. The HTTP protocol doesn't care, it merely passes the element's name with it's associated value in the query string.

    It's been a normal programming tool as far back as I can remember (I think I even remember it more commonly used for multi-file uploads back when you had "add file" links that appended another element to the form, using the same name (with []) as the previous.)

    The same rules that apply in PHP apply in the form. You can use [] to auto-index the elements (for generic lists) or explicitly list them using element IDs (e.g. file[1], file[2], etc. (following my previous example))

    Yes, multi-dimensional arrays can be used.

    For more information, check out PHP's very own _POST documentation (especially the comments)

提交回复
热议问题