gpt4 book ai didi

PHP 数字清理器正则表达式

转载 作者:行者123 更新时间:2023-12-04 06:54:54 26 4
gpt4 key购买 nike

我有一个在 PHP 中使用的函数来处理数字。目的是清除数字,并可选择将空值转换为零。它开始对我来说是在 prep for sql 中使用的,但现在在更多地方使用。这里是:

function clean_num ($num, $null_to_zero = true) {
$num = preg_replace("/[^-0-9.0-9$]/","",$num);
if (strlen($num) == 0)
$num = ($null_to_zero) ? 0 : null;
else if (strlen($num) == 1 && ($num == '-' || $num == '.'))
$num = ($null_to_zero) ? 0 : null;
return $num;
}

有没有人对更快,更好的方法有任何想法?它有效,正则表达式足够简单,应该涵盖我需要的所有情况,但是......一个差异正则表达式可能会在没有其他垃圾的情况下做同样的事情。正则表达式不是我的强项。谢谢!

最佳答案

正则表达式 [^-0-9.0-9$]匹配任何字符

  • 不是连字符
  • 不是数字
  • 不是 .
  • 不是 $

  • 没有必要有两个 0-9在 char 类中,您的正则表达式如此有效: [^-0-9.$][^-\d.$]

    关于PHP 数字清理器正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2668724/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com