我有一串键值对,逗号作为分隔符。 我需要通过字符串获取键和值并将它们推入数组。
我在编写正则表达式时遇到问题,因为该值是十进制数。 字符串的示例如下:
value,0.23,word,0.42,dog,0.28000000000000014,cat,0,car,17.369999999999997
知道如何编写正确的正则表达式吗?
正则表达让我头疼!
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用array_chunk()
:
$values = array_chunk(explode(',', $string), 2)
foreach ($values as $pair) {
list($key, $value) = $pair;
// do something
}
答案 2 :(得分:0)
您可以使用以下代码:
$str = 'value,0.23,word,0.42,dog,0.28000000000000014,cat,0,car,17.369999999999997';
$parts = explode(',', $str);
$result = array();
for($i=0; $i < count($parts); $i+=2) {
$result[$parts[$i]] = $parts[$i+1];
}
var_dump($result);
输出:
array(5) {
["value"]=>
string(4) "0.23"
["word"]=>
string(4) "0.42"
["dog"]=>
string(19) "0.28000000000000014"
["cat"]=>
string(1) "0"
["car"]=>
string(18) "17.369999999999997"
}