我有一个这样的字符串:
key=value,key2=value2
我想把它解析成这样:
array(
"key" => "value",
"key2" => "value2"
)
我可以做类似这样的事情
$parts = explode(",", $string)
$parts = array_map("trim", $parts);
foreach($parts as $currentPart)
{
list($key, $value) = explode("=", $currentPart);
$keyValues[$key] = $value;
}
但这似乎很离奇。用PHP一定有更聪明的方法来做这件事,对吧?
发布于 2011-02-08 00:56:41
如果你不介意使用正则表达式...
$str = "key=value, key2=value2";
preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r);
$result = array_combine($r[1], $r[2]);
var_dump($result);
发布于 2011-02-08 00:57:59
<?php parse_str(str_replace(", ", "&", "key=value, key2=value2"), $array); ?>
发布于 2011-02-08 00:55:56
如果将字符串更改为使用&
而不是,
作为分隔符,则可以使用parse_str()
https://stackoverflow.com/questions/4923951
复制相似问题