使用字符串函数
$string = 'variable1=true&variable2=1,2,3&variable3="test"&variable4!=true&variable5!=4,5,6&variable!="test"';
$pairs = explode('&', $string);
foreach ($pairs as $pair) {
if (strstr($pair, '!=')) {
list($key, $value) = explode('!=', $pair);
} else {
list($key, $value) = explode('=', $pair);
}
$values[$key] = $value;
}
在键盘上查看输出
此代码首先使用&
, 将字符串拆分为键值对。之后,它遍历每一对并尝试再次拆分它,首先使用!=
,如果失败,使用=
。
使用正则表达式
preg_match_all('/((\w+)(=|!=)("\w+"|true|false|[\d\,]+)*)/', $string, $matches);
[...]
我添加了括号\d
和转义的逗号\,
。