如何将下面的字符串转换为数组?

pg_id=2&parent_id=2&document&video 

这就是我要找的数组,

array(
    'pg_id' => 2,
    'parent_id' => 2,
    'document' => ,
    'video' =>
)

当前回答

。使用的作用是:将字串符

$str = 'pg_id=2&parent_id=2&document&video';
parse_str($str, $arr);
print_r($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 );

可以使用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函数:

$array = array();
parse_str($string, $array);
var_dump($array);

你可以试试下面的代码:

<?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] =>
)

。使用的作用是:将字串符

$str = 'pg_id=2&parent_id=2&document&video';
parse_str($str, $arr);
print_r($arr);