如何分解字符串,例如:
a=1&b=2&c=3
这样就变成了:
Array {
[a] => 1
[b] => 2
[c] => 3
}
使用explode()
分隔的常规&
功能会分隔参数,但不会分隔[key] => [value]
对。
感谢。
答案 0 :(得分:18)
使用PHP的parse_str
函数。
$str = 'a=1&b=2&c=3';
$exploded = array();
parse_str($str, $exploded);
$exploded['a']; // 1
我想知道你从哪里得到这个字符串?如果它是问号后面的URL的一部分(URL的查询字符串),您可以通过超全局$_GET
数组访问它:
# in script requested with http://example.com/script.php?a=1&b=2&c=3
$_GET['a']; // 1
var_dump($_GET); // array(3) { ['a'] => string(1) '1', ['b'] => string(1) '2', ['c'] => string(1) '3' )
答案 1 :(得分:2)
尝试使用parse_str()
功能:
$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
答案 2 :(得分:-1)
这样的东西会起作用
$str = "a=1&b=2&c=3"
$array = array();
$elems = explode("&", $str);
foreach($elems as $elem){
$items = explode("=", $elem);
$array[$items[0]] = $items[1];
}