请问a=1&b=2这样的字符串在PHP中有什么好办法解析

时间:2021-12-05 14:06:01
遇到一个问题

某接口会返回a=1&b=2&c=3......这个格式的字符串,参数的数量不太固定,有时候是十来个,有时候是二十个,并且顺序也不太固定,有时候是a=1&b=2&c=3,有时候是b=2&a=1&c=3

我怎么才能方便的获得其中的一个参数的值,比如我想获得里面c的值

试过用explode打断字符串的方式但是感觉特别山寨,有别的函数可以直接用吗

4 个解决方案

#1


这个挺适合用explode啊  这么规律,正则都没explode方便.  可以自己封装个方法,用两层explode,传个字符串进去出来就是想要的数组

#2


$s='a=1&b=2&c=3';
parse_str($s,$ar);
print_r($ar);

Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

#3


$s = 'a=1&b=2&c=3';
parse_str($s, $a);
print_r($a);
Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

#4


学习了  这个函数以前没用过

#1


这个挺适合用explode啊  这么规律,正则都没explode方便.  可以自己封装个方法,用两层explode,传个字符串进去出来就是想要的数组

#2


$s='a=1&b=2&c=3';
parse_str($s,$ar);
print_r($ar);

Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

#3


$s = 'a=1&b=2&c=3';
parse_str($s, $a);
print_r($a);
Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

#4


学习了  这个函数以前没用过