如何将下面的字符串转换为数组?
pg_id=2&parent_id=2&document&video
这就是我要找的数组,
array(
'pg_id' => 2,
'parent_id' => 2,
'document' => ,
'video' =>
)
如何将下面的字符串转换为数组?
pg_id=2&parent_id=2&document&video
这就是我要找的数组,
array(
'pg_id' => 2,
'parent_id' => 2,
'document' => ,
'video' =>
)
当前回答
有几个可能的方法,但对你来说,已经有一个内置的parse_str函数:
$array = array();
parse_str($string, $array);
var_dump($array);
其他回答
您需要parse_str函数,并且需要设置第二个参数,以便将数据放入数组中,而不是放入单个变量中。
$get_string = "pg_id=2&parent_id=2&document&video";
parse_str($get_string, $get_array);
print_r($get_array);
使用http://us1.php.net/parse_str
注意,它的用法是:
parse_str($str, &$array);
not
$array = parse_str($str);
请注意,以上内容仅适用于PHP 5.3及更早版本。在PHP 5.4中删除了调用时引用传递。
但是PHP已经内置了一个$_GET函数。这将把它自己转换成数组。
尝试print_r($_GET),您将得到相同的结果。
有几个可能的方法,但对你来说,已经有一个内置的parse_str函数:
$array = array();
parse_str($string, $array);
var_dump($array);
可以使用PHP字符串函数parse_str(),后面跟着foreach循环。
$str="pg_id=2&parent_id=2&document&video";
parse_str($str,$my_arr);
foreach($my_arr as $key=>$value){
echo "$key => $value<br>";
}
print_r($my_arr);