我想将字符串转换为浮点数.例如
152.15 x 12.34 x 11mm
成
152.15,12.34 and 11
并存储在一个数组中,使得$dim [0] = 152.15,$dim [1] = 12.34,$dim [2] = 11.
我还需要处理类似的事情
152.15x12.34x11 mm 152.15mmx12.34mm x 11mm
谢谢.
$str = '152.15 x 12.34 x 11mm'; preg_match_all('!\d+(?:\.\d+)?!',$str,$matches); $floats = array_map('floatval',$matches[0]); print_r($floats);
(?:…)正则表达式构造就是所谓的non-capturing group.这意味着在$mathces数组的一部分中不会单独返回块.在这种情况下,这不是严格必要的,但是知道是有用的结构.
注意:在元素上调用floatval()
并不是必需的,因为如果您尝试在算术运算或类似操作中使用它们,PHP通常会正确地处理类型.但它并没有受到伤害,特别是仅仅是一个班轮.