-4

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

问题

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

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

现在你可以预匹配并做各种时髦的事情来找到答案,但最简单的是将数字字符串转换为 int。

让我们以以下用户为例:

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

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

您应该打印出以下内容:

45678

0045678

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

4

3 回答 3

8

使用ltrim

$str="0045678";

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

echo $str;
于 2013-10-21T08:13:25.000 回答
0

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

于 2013-10-21T08:12:46.040 回答
-1

最简单的解决方案

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

使用前面的示例:

<?php
    $correct = 45678;
    $incorrect = (int)0045678;

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

您应该打印出以下内容:

45678

45678

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

于 2013-10-21T08:10:49.627 回答