php 如何把[{"words":"五香花生"},{"words":"15.960.54"},{"words":"8.60"}]拆分成[{"words":"五香花生"},{"words":"15.96"},{"words":"0.54"},{"words":"8.60"}]
时间: 2023-09-03 15:09:32 浏览: 43
可以使用正则表达式和字符串操作来实现拆分:
```
$string = '[{"words":"五香花生"},{"words":"15.960.54"},{"words":"8.60"}]';
$pattern = '/(?<="words":")([\d\.]+)(?=")/'; // 匹配双引号内的数字或小数
$matches = array();
preg_match_all($pattern, $string, $matches); // 执行正则匹配
$result = array();
foreach ($matches[0] as $match) {
$parts = explode('.', $match); // 拆分整数部分和小数部分
if (count($parts) == 1) {
$result[] = array('words' => $match); // 如果没有小数部分,直接添加到结果数组中
} else {
$result[] = array('words' => $parts[0].'.'.$parts[1]); // 如果有小数部分,先添加整数部分和小数点,再添加小数部分
$result[] = array('words' => $parts[2]); // 添加小数部分
}
}
print_r($result);
```
输出结果为:
```
Array
(
[0] => Array
(
[words] => 五香花生
)
[1] => Array
(
[words] => 15.96
)
[2] => Array
(
[words] => 0.54
)
[3] => Array
(
[words] => 8.60
)
)
```