如何将下面的字符串转换为数组?
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' =>
)
当前回答
可以使用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);
其他回答
你可以试试下面的代码:
<?php
$str = "pg_id=2&parent_id=2&document&video";
$array = array();
parse_str($str, $array);
print_r($array);
?>
输出:
Array
(
[pg_id] => 2
[parent_id] => 2
[document] =>
[video] =>
)
但是PHP已经内置了一个$_GET函数。这将把它自己转换成数组。
尝试print_r($_GET),您将得到相同的结果。
可以使用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);
有时parse_str()单独是准确的,它可以显示如下:
$url = "somepage?id=123&lang=gr&size=300";
Parse_str()将返回:
Array (
[somepage?id] => 123
[lang] => gr
[size] => 300
)
最好像这样将parse_str()与parse_url()结合起来:
$url = "somepage?id=123&lang=gr&size=300";
parse_str( parse_url( $url, PHP_URL_QUERY), $array );
print_r( $array );
这是一个从当前URL解析查询到数组的单行程序:
parse_str($_SERVER['QUERY_STRING'], $query);