function get_only_numbers($string){
$getonly = str_split("0123456789");
$string = str_split($string);
foreach($string as $i => $c){
if(!in_array($c, $getonly))
unset($string[$i]);
}
return implode("", $string);
}
echo get_only_numbers("U$ 499,50"); // prints 49950
此函数应该只返回字符串中的数字。 该功能是否已正确编码?
答案 0 :(得分:4)
我认为对preg_replace的一次调用也可以这样做:
preg_replace('/\D+/', '', 'U$ 499,50'); // returns "49950"
答案 1 :(得分:3)
请参阅is_numeric以进一步优化您的功能,以便您不需要进行数组比较。
答案 2 :(得分:2)
正确?它做了它应该做的......但我更喜欢正则表达式:
function get_only_numbers($string){
return preg_replace("/[^0-9]/", "", $string);
}