Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在URL中传递多维关联数组_Php_Arrays_Multidimensional Array_Get_Associative Array - Fatal编程技术网

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

Php 如何在URL中传递多维关联数组,php,arrays,multidimensional-array,get,associative-array,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?..... 您需要像这样使用数组访问表示法 mywebsite.com/file.p

我已经在谷歌上搜索了几个小时,但我对此一无所知。我有一个多维关联数组,如下所示:

$mArray = array(
   array("m" => "0"),
   array("m" => "1"),
   array("m" => "1")
   );
我想使用PHP GET请求创建数组:

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

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

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 &

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

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

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 &

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

谢谢,我似乎无法让它工作…难道
$mArray
不应该在URL中的某个位置吗?@Youss我只是将
作为参数名,因为您没有指定要作为参数传递的名称。您只需将
替换为您选择的任何参数名称。整个过程取决于首先“获取”URL,如何使用GET?@Youss执行此操作?因此,我认为您希望获取
$mArray
中的值,并通过
$\u GET
传递到另一个页面,因此需要构建查询字符串。不管逻辑是什么,都是一样的。如果您试图从GET请求中填充
$mArray
,您只需要将查询字符串格式化为如我所示的格式。@您现在应该知道查询字符串中传递数组所需的格式(任意数量的维度,因为您只需添加新括号来添加维度)。您应该知道如何从现有的PHP数组创建这样的查询字符串。所以希望你能得到你所需要的。谢谢,我似乎无法让它工作…难道
$mArray
不应该在URL中的某个地方吗?@Youss我只是把
作为参数名,因为你没有指定你想要的名称参数传递为什么。您只需将
替换为您选择的任何参数名称。整个过程取决于首先“获取”URL,如何使用GET?@Youss执行此操作?因此,我认为您希望获取
$mArray
中的值,并通过
$\u GET
传递到另一个页面,因此需要构建查询字符串。不管逻辑是什么,都是一样的。如果您试图从GET请求中填充
$mArray
,您只需要将查询字符串格式化为如我所示的格式。@您现在应该知道查询字符串中传递数组所需的格式(任意数量的维度,因为您只需添加新括号来添加维度)。您应该知道如何从现有的PHP数组创建这样的查询字符串。所以希望你能得到你所需要的。