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

You*_*uss 2 php arrays associative-array get multidimensional-array

我已经在谷歌上搜索了几个小时,但我无法从中得到任何线索。我有一个像这样的多维关联数组:

$mArray = array(
   array("m" => "0"),
   array("m" => "1"),
   array("m" => "1")
   );
Run Code Online (Sandbox Code Playgroud)

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

mywebsite.com/file.php?.......what do I put here?.....
Run Code Online (Sandbox Code Playgroud)

Mik*_*ant 5

您需要使用像这样的数组访问符号

mywebsite.com/file.php?item[0][m]=0&item[1][m]=1&item[2][m]=1
Run Code Online (Sandbox Code Playgroud)

使用嵌套循环构建此字符串会很简单 - 不要忘记对值进行 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 &
Run Code Online (Sandbox Code Playgroud)

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