首页 >后端开发 >php教程 >如何高效地将逗号分隔的Key=Value字符串转换为关联数组?

如何高效地将逗号分隔的Key=Value字符串转换为关联数组?

Susan Sarandon
Susan Sarandon原创
2024-12-04 00:30:11179浏览

How Can I Efficiently Convert a Comma-Separated Key=Value String into an Associative Array?

将逗号分隔的 Key=Value 表达式字符串转换为关联数组

将逗号分隔的键值对字符串解析为关联数组可能是一项乏味的任务。虽然建议的使用explode()和foreach的方法可能很简单,但对于较大的字符串来说它可能效率低下。

使用正则表达式的更有效方法

更多优雅而高效的解决方案是利用正则表达式:

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

这种方法使用 preg_match_all() 函数来提取使用正则表达式模式 ([^,= ] )=([^,= ] ) 的键值对的所有匹配。匹配结果存储在 $r 数组中,键存储在 $r[1] 中,值存储在 $r[2] 中。最后, array_combine() 函数组合键和值来创建所需的关联数组。

问题中提供的示例字符串将生成以下关联数组:

array(
  "key" => "value",
  "key2" => "value2"
)

This方法为解析逗号分隔的键值字符串提供了一种简洁且高性能的解决方案。

以上是如何高效地将逗号分隔的Key=Value字符串转换为关联数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn