如何在URL中传递多维关联数组

时间:2013-07-30 17:25:26

标签: php arrays multidimensional-array get associative-array

我一直在谷歌搜索几个小时,但我无法做出头脑或尾巴。我有一个像你这样的多维关联数组:

$mArray = array(
   array("m" => "0"),
   array("m" => "1"),
   array("m" => "1")
   );

我想用PHP GET请求创建数组:

mywebsite.com/file.php?.......what do I put here?.....

1 个答案:

答案 0 :(得分:3)

您需要使用像这样的数组访问表示法

mywebsite.com/file.php?item[0][m]=0&item[1][m]=1&item[2][m]=1

使用嵌套循环构建此字符串会很简单 - 不要忘记对值进行URL编码

$query_string = '';
foreach($mArray as $key => $array) {
    foreach($array as $k => $v) {
        $query_string .= 'item[' . urlencode($key) . '][' . urlencode($k) . ']=' . urlencode($v) . '&';
    }
}
$query_string = substr($query_string, 0, 1); // trim extra &

如果需要处理任意维度的数组,显然可以将其修改为一个函数,可以递归调用以获得尽可能多的级别。