将逗号分隔的 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中文网其他相关文章!