是否有PHP函数将查询字符串转换为数组?

Dar*_*ein 27 php

我基本上是在寻找相反的http_build_query().

我有以下字符串:

foo=bar&bar[var]=foo
Run Code Online (Sandbox Code Playgroud)

我想要以下内容(传入http_build_query):

array(
    'foo' => 'bar',
    'bar' => array(
         'var' => 'foo',
    )
)
Run Code Online (Sandbox Code Playgroud)

mea*_*gar 71

你想要的parse_str().将一个数组作为第二个参数传递给它,它将从你将它提供给数组的查询字符串中提取变量:

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str, $output);

echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
Run Code Online (Sandbox Code Playgroud)

请注意,这是http_build_query页面上列出的第一个相关功能.