PHP使用explode拆分字符串为数组时如何提取;后的数值内容
实现方法
方法1:基于现有拆分结果二次处理
你已经完成了按逗号拆分的步骤,只需要对数组中每个元素再按;拆分,取拆分后的第二个值即可:
// 按逗号拆分原字符串 $tempArray = explode(",", $row["pricehistory"]); // 遍历提取每个元素中分号后的数值 $resultArray = array_map(function($item) { return explode(";", $item)[1]; }, $tempArray); print_r($resultArray);
方法2:正则匹配一步获取
不需要分步拆分,直接用正则匹配所有;之后的数字类字符,一次性得到目标数组:
preg_match_all('/;([\d.]+)/', $row["pricehistory"], $matches); $resultArray = $matches[1]; print_r($resultArray);
两种方法都可以得到你需要的数组格式,第一种逻辑更直观易维护,第二种执行效率更高。
内容的提问来源于stack exchange,提问作者tevved
相关产品推荐
相关产品推荐

