【问题标题】:URL Parameters with brackets [duplicate]带括号的 URL 参数 [重复]
【发布时间】:2012-10-09 22:01:50
【问题描述】:

可能重复:
PHP: form input field names containing square brackets like field[index]

我刚刚看到一个带有括号的 URL 参数,有谁知道使用括号的原因是什么?

www.website.com?request[product]=Digital+Printing

谢谢

【问题讨论】:

  • 精神错乱?可能是同样的事情让人们在 get urls 中分隔参数

标签: php


【解决方案1】:

它用于传递数组。

//Example: ?request[product]=Digital+Printing&request[key]=abc123
var_dump($_GET['request']);
/**
 * array (size=2)
      'product' => string 'Digital Printing' (length=16)
      'key' => string 'abc123' (length=6)
 */

它在 POST 中更多地用于发送具有相同键名的多个值,例如多选选项或复选框。

【讨论】:

    【解决方案2】:

    您可以通过格式传递参数来制作数组

    <input type="text" name="request[product]" value="..."/>
    <input type="text" name="request[item]" value="..."/>
    

    www.website.com?request[product]=Digital+Printing&request[item]=something

    所以在后端你可以像这样访问它:

    echo $_GET['request']['product']; // Digital Printing
    echo $_GET['request']['item']; // something
    

    【讨论】:

      【解决方案3】:

      $_GET['request'] 是一个数组,因此它表示为 request[product]

      如果你运行

        var_dump($_GET);
      

      你会得到

      array
        'request' => 
          array
            'product' => string 'Digital Printing' (length=16)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-27
        • 1970-01-01
        • 1970-01-01
        • 2016-12-08
        • 1970-01-01
        • 1970-01-01
        • 2019-07-01
        相关资源
        最近更新 更多