I have a string like this:
key=value, key2=value2
and I would like to parse it into something like this:
array( "key" => "value", "key2" => "value2" )
I could do something like
$parts = explode(",", $string) $parts = array_map("trim", $parts); foreach($parts as $currentPart) { list($key, $value) = explode("=", $currentPart); $keyValues[$key] = $value; }
But this seems ridiciulous. There must be some way to do this smarter with PHP right?
If you don't mind using regex ...
$str = "key=value, key2=value2"; preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r); $result = array_combine($r[1], $r[2]); var_dump($result);
<?php parse_str(str_replace(", ", "&", "key=value, key2=value2"), $array); ?>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With