我的字符串类似于以下格式:
$ string ="name = xxx&id = 11&name = yyy&id = 12&name = zzz&id = 13&name = aaa&id = 10";
我想分割字符串,如下所示:
$ str [0] ="name = xxx&id = 11";
$ str [1] ="name = yyy&id = 12";
$ str [2] ="name = zzz&id = 13";
$ str [3] ="name = aaa&id = 10";
我怎么能用PHP做到这一点?
试试这个:
$matches = array();
preg_match_all("/(name=[a-zA-Z0-9%_-]+&id=[0-9]+)/",$string,$matches);
Run Code Online (Sandbox Code Playgroud)
$matches 现在是一个包含你想要的字符串的数组.
更新
function get_keys_and_values($string /* i.e. name=yyy&id=10 */) {
$return = array();
$key_values = split("&",$string);
foreach ($key_values as $key_value) {
$kv_split = split("=",$key_value);
$return[$kv_split[0]] = urldecode($kv_split[1]);
}
return $return;
}
Run Code Online (Sandbox Code Playgroud)