如果我有这样的字符串:'(1.23123,4.123123('
我该如何将其转换为两个双打?
$items = explode(',', $string);
$n1 = $items[0] // (1.23123
我的尝试:
floatval($n1) // 0
(double) $n1 // 0
如何转换?
您需要trim
字符串周围的括号。在explode
中使用trim
,将括号作为charlist。
$items = explode(',', trim($str,')('));
代码
<?php
$str='(1.23123, 4.123123)';
$items = explode(',', trim($str,')('));
$items=array_map('floatval',$items);
echo $n1 = $items[0]; // "prints" 1.23123
echo $n2 = $items[1]; // "prints" 4.123123
array_map('floatval', $array)
用于阵列
试试这个代码
$string = "(1.23123, 4.123123)";
preg_match_all("/[d.]+/", $string, $matches);
print_r($matches[0]);