一尘不染

PHP-在键/值对中拆分字符串

php

我有一个像这样的字符串:

键=值,键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更智能吗?


阅读 266

收藏
2020-05-29

共1个答案

一尘不染

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

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