【问题标题】:PHP Stripping leading zeros 0 from a number [duplicate]PHP从数字中去除前导零0 [重复]
【发布时间】:2013-10-21 08:10:49
【问题描述】:

我发布这个是因为这不是大多数新手可能熟悉的。

问题

我们有一个使用数字 ID 的票务系统。现在公司中的一些人喜欢在票号前面加上零,有些人会在没有前导零的情况下引用它,这是正确的方法。因此,为了标准化输出,我们必须删除前导零。

这听起来很简单,但我们不能只对其运行 str_replace,因为这可能会删除数字中间的有效 0。

现在你可以通过 preg match 并做各种时髦的事情来找到答案,但最简单的方法是将数字字符串转换为 int。

我们以以下用户为例:

<?php
    $correct = 45678;
    $incorrect = 0045678;

    echo $correct . '<br />';
    echo $incorrect;
?>

您应该打印出以下内容:

45678

0045678

现在基本上这些对于应用程序来说是相同的,但我希望能够满足以错误格式输入信息的人。

【问题讨论】:

  • 我没有阅读任何问题,也没有阅读任何问题?
  • stackoverflow.com/search?q=php+remove+leading+zeros : 那些新手能到那个页面吗?
  • 我强烈建议您停止发布您可能会发现对他人有用的事物的问题,并在此基础上发布您自己的答案。所以不适合这个。
  • 不太正确,dbf。来自帮助中心:“我可以回答我自己的问题吗?可以!Stack Exchange 一直明确鼓励用户回答他们自己的问题。”只是这是重复的......
  • 我认为这是关于分享知识,而不是谁拥有最大的......

标签: php stripping leading-zero


【解决方案1】:

使用ltrim

$str="0045678";

$str = ltrim($str, '0');

echo $str;

【讨论】:

  • 工作完美,谢谢
【解决方案2】:

您也可以使用ltrim() http://de3.php.net/manual/en/function.ltrim.php 这会从左侧删除所需的字符

【讨论】:

    【解决方案3】:

    最简单的解决方案

    正如他们所说,最简单的解决方案往往是最好的。还有什么比告诉 PHP 这是我们正在使用的整数更容易的事情。我们通过预先挂起 (int) 来告诉 PHP 我们正在处理一个整数。

    使用前面的例子:

    <?php
        $correct = 45678;
        $incorrect = (int)0045678;
    
        echo $correct . '<br />';
        echo $incorrect;
    ?>
    

    您应该打印出以下内容:

    45678

    45678

    我知道这似乎不言自明,但我只在网站开发中学习了几年的类型转换。也许你会发现这个很有用。

    【讨论】:

    猜你喜欢
    • 2011-10-04
    • 2019-12-04
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 2022-01-18
    • 2010-12-14
    • 1970-01-01
    相关资源
    最近更新 更多