PHP 从数字字符串中删除逗号

2022-08-30 08:51:39

在PHP中,我有一个都是字符串的变量数组。存储的一些值是带逗号的数字字符串。

我需要什么:

一种从字符串中修剪逗号的方法,并且仅对数字字符串执行此操作。这并不像看起来那么简单。主要原因是以下方法失败:

$a = "1,435";

if(is_numeric($a))
    $a = str_replace(',', '', $a);

这失败了,因为是数字。但不是数字。因为我得到的一些字符串将是带有逗号的常规句子,所以我无法对每个字符串运行字符串替换。$a = "1435"$a = "1,435"


答案 1

反之亦然:

$a = "1,435";
$b = str_replace( ',', '', $a );

if( is_numeric( $b ) ) {
    $a = $b;
}

答案 2

最简单的是:

$var = intval(preg_replace('/[^\d.]/', '', $var));

或者如果您需要浮点数:

$var = floatval(preg_replace('/[^\d.]/', '', $var));

推荐