【问题标题】:how to send array values through url in PHP?如何在 PHP 中通过 url 发送数组值?
【发布时间】:2010-06-22 12:33:54
【问题描述】:

PHP中如何通过url发送数组?

我有一系列产品 ID,我想通过 url 使用这些 ID,因为这是我工作的 osCommerce 需要它,我该怎么做?

通常 osCommerce 要求插入单个产品,这反过来又给了我一个产品 ID,我将其传递到 url 并在购物车中获取它,在那里我看到了这个添加的产品,但现在我在第一页添加了多个产品使用不同的生成产品 ID,我必须以与它们在一般中显示的方式相同的方式显示这些产品,为此我需要在 url 中生成所有这些生成的 ID

【问题讨论】:

  • 这真的取决于你需要用它做什么。需要更多信息才能正确回答您的问题。

标签: php url


【解决方案1】:

您正在寻找http_build_query()

来自 php.net 的示例:

$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data);
// foo=bar&baz=boom&cow=milk&php=hypertext+processor

echo http_build_query($data, '', '&');
// foo=bar&baz=boom&cow=milk&php=hypertext+processor

【讨论】:

    【解决方案2】:

    ?arr[]=abc&arr[]=pqr&arr[]=xyz&arr[]=xxx

    【讨论】:

      【解决方案3】:

      我会做的是json_encode(php json) 数组并将其分配给 php 中的变量。然后您可以urlencode 变量通过 url 发送它。在另一端,您可以json_decode。如果您不知道,请查找 json。不过它非常强大和有用。

      【讨论】:

        【解决方案4】:

        您可以serialize() 发送它,也可以发送为?a[]=1&a[]=val2&someOtherArg=val。这将给出一个 $_GET 数组,如:

        array(
            'a' => array(
                0 => '1',
                1 => 'val2',
            ),
            'someOtherArg' => 'val'
        )
        

        但是请注意,您可能应该将整个查询保持在大约 2k 个字符以下。 (more)

        【讨论】:

          【解决方案5】:

          如果您要发布数据,请使用 PHP 数组样式语法命名您的字段:

          <input type="text" name="myArray[]" value="A">
          <input type="text" name="myArray[]" value="B">
          <input type="text" name="myArray[]" value="C">
          

          如果你想在 GET 请求中传递数据,你可以分离数据并在服务器端使用explode进行拆分:

          page.php?myData=A,B,C,D
          

          ...

          $myArray = explode(',', $_POST['myData']);
          

          【讨论】:

            【解决方案6】:

            【讨论】:

              【解决方案7】:

              如果您已经在数组中拥有产品 ID,那么您可以使用 http_build_query() 函数,该函数将像这样对数组进行编码:

              http://www.example.com/?pid[]=1&amp;pid[]=2&amp;pid[]=3 ...

              希望对您有所帮助。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2010-10-20
                • 2013-08-27
                • 1970-01-01
                • 1970-01-01
                • 2023-03-09
                • 2013-11-29
                • 2010-09-22
                • 2014-02-07
                相关资源
                最近更新 更多