PHP字符串分割由分隔符分隔的模式


PHP string splitting a pattern separated by a delimiter

我将有一个以下模式的php查询字符串:

?x=a&y=b&z=c

在"?"之后可能有更多参数。x、y、z值将仅由aA-zZ之间的字符组成。然而,a、b、c值可以是任意值。它们还可以包括&个字符或=个字符。有没有任何方法可以通过同时考虑regex和分隔符&并将它们放入关联数组中,如以下所示:

$values = array(x => a, y => b, z => c); 

编辑:

我想我应该澄清一下。x可以是诸如note之类的值。而a、b、c可以是诸如http://yay.com/wahoo?wahoo=3&zahoo=5.

正如scrowler所写,parse_str()可能会起作用,HOWEVER,如果值"也可能包括&characters或=characters",你会怎么说?x=a&y=b&z=c应该被解析为:

$values = array(x => a, y => b, z => c);或者更确切地说:

$values = array(x => a&y=b, z => c);

或:$values = array(x => a&y=b&z=c);

我想"&"answers"="字符将以某种方式转义,例如使用百分比转义。