php爆炸后的短字符串

php爆炸后的短字符串,php,explode,implode,short,Php,Explode,Implode,Short,嗨,我在完成一个测验后,在我们的数据库中得到了一个字符串,该测验将每个问题的结果包含在一个字符串中。比如: &q1=2&q2=5&q14=7&q6=8&q4=9&q19=10&q12=1&q20=3 每个问题都可以跳过一段时间,稍后再回答,因此答案是不排序的。 现在我想要的结果是 q1=2,q2=5,q4=9,q6=8,q12=1,q14=7,q19=10,q20=3 有人能帮我吗?试试这个 $a='&q1=2&

嗨,我在完成一个测验后,在我们的数据库中得到了一个字符串,该测验将每个问题的结果包含在一个字符串中。比如:

&q1=2&q2=5&q14=7&q6=8&q4=9&q19=10&q12=1&q20=3
每个问题都可以跳过一段时间,稍后再回答,因此答案是不排序的。 现在我想要的结果是

q1=2,q2=5,q4=9,q6=8,q12=1,q14=7,q19=10,q20=3
有人能帮我吗?

试试这个

$a='&q1=2&q2=5&q14=7&q6=8&q4=9&q19=10&q12=1&q20=3';
$b=explode('&',$a);
natsort($b);
$c=implode(',',$b);
print($c);
像这样试试

$a='&q1=2&q2=5&q14=7&q6=8&q4=9&q19=10&q12=1&q20=3';
$a = ltrim($a,'&');
$b=explode('&',$a);
natsort($b);
echo $c=implode(',',$b);
试试这个:

$url = '&q1=2&q2=5&q14=7&q6=8&q4=9&q19=10&q12=1&q20=3';
parse_str($url, $urlDecoded);
$urlDecoded = array_flip($urlDecoded);
natsort($urlDecoded);
$urlDecoded = array_flip($urlDecoded);
var_dump($urlDecoded);

其他示例也不错,但它们都有一个前导逗号

以下是一个改进的版本:

$a=explode('&','&q1=2&q2=5&q14=7&q6=8&q4=9&q19=10&q12=1&q20=3');
natsort($a);
echo substr(implode(',',$a),1);