输出使用PHP中的多个数组获取变量

时间:2013-12-24 09:42:18

标签: php html5 url url-encoding

我很难为这个特定页面的网址获取GET变量。

网址为: -

http://thisthat.com/category/?field_issue_month_value%5Bvalue%5D%5Byear%5D=2013&field_issue_month_value%5Bvalue%5D%5Bmonth%5D=10

我正在尝试输出这两个GET变量。

我尝试了以下方法但失败了:(

echo urldecode("field_issue_month_value%5Bvalue%5D%5Bmonth%5D");
     [field_issue_month_value]
echo $_GET['field_issue_month_value[value][year][0]'];
echo $_GET["field_issue_month_value[value][month]"];

echo urldecode($_GET['field_issue_month_value%5Bvalue%5D%5Bmonth%5D']);

Var_dump如下: -

{ ["field_issue_month_value"]=> array(1) { ["value"]=> array(2) { ["year"]=> string(4) "2013" ["month"]=> string(2) "10" } } ["q"]=> string(19) "Page-Name" }

1 个答案:

答案 0 :(得分:1)

如果$_GET包含数组,则应按以下方式访问数据:

您的数组是多维的,因此您需要多个indeces来获取该数据:

$_GET['field_issue_month_value']['value']['year'] ;

否则使用$_GET['field_issue_month_value[value][year][0]'];只需要使用一个字符串作为索引,就可以进入1级深度。


<强> UPD: 这个例子适合我:

parse_str(urldecode('field_issue_month_value%5Bvalue%5D%5Byear%5D=2013&field_issue_month_value%5Bvalue%5D%5Bmonth%5D=10'), $r);

echo $r['field_issue_month_value']['value']['month'] . "<br/>" ;
echo $r['field_issue_month_value']['value']['year'] . "<br/>" ;