我需要将其更改为:
$arr['id']=1;
$arr['type']=2;
答案 0 :(得分:7)
使用:parse_str()。
void parse_str(string $str [, array &$arr])
解析str,好像它是通过URL传递的查询字符串,并在当前范围中设置变量。
示例:
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
?>
答案 1 :(得分:3)
假设您要解析查询字符串,只需使用parse_str()
:
$input = 'id=1&type=2';
$out = array();
parse_str($input, $out);
print_r($out);
输出:
Array
(
[id] => 1
[type] => 2
)
您可以选择不传入第二个参数,而parse_str()
会将变量注入当前范围。 不要在全局范围内执行此操作。我可能会争辩说根本不这样做。出于同样的原因register_globals()
是坏的。
答案 2 :(得分:2)
请参阅parse_str
。
答案 3 :(得分:1)
$arr = array();
$values = explode("&",$string);
foreach ($values as $value)
{
array_push($arr,explode("=",$value));
}
答案 4 :(得分:0)
将parse_str()
与第二个参数一起使用,如下所示:
$str = 'id=1&type=2';
parse_str($str, $arr);
然后 $arr
将包含:
Array
(
[id] => 1
[type] => 2
)