PHP - 按键/值对拆分字符串

2022-08-30 19:41:49

我有一个这样的字符串:

键=值,键 2=值2

我想把它解析成这样的东西:

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更聪明地做到这一点吧?


答案 1

如果您不介意使用正则表达式...

$str = "key=value, key2=value2";
preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r); 
$result = array_combine($r[1], $r[2]);
var_dump($result);

答案 2
<?php parse_str(str_replace(", ", "&", "key=value, key2=value2"), $array); ?>

推荐