我发布这个,因为这不是大多数新手可能熟悉的东西。
问题
我们有一个使用数字ID的票务系统。现在,公司中的一些人更喜欢将零预先挂入票号,有些人会在没有前导零的情况下引用它,这是正确的方法。因此,要标准化输出,我们必须删除前导零。
这可能听起来很简单,但我们不能仅仅在它上面运行str_replace,因为这可能会删除数字中间的有效0。
现在你可以预先匹配并做各种各样的时髦事情来找到答案,但最简单的是只将数字字符串转换为int。
让我们以下面的用户为例:
<?php
$correct = 45678;
$incorrect = 0045678;
echo $correct . '<br />';
echo $incorrect;
?>
你应该打印下面的内容:
45678
0045678
现在基本上这些应用程序是相同的,但我希望能够满足以错误格式输入信息的人。
答案 0 :(得分:7)
使用ltrim
:
$str="0045678";
$str = ltrim($str, '0');
echo $str;
答案 1 :(得分:0)
您还可以使用ltrim()
http://de3.php.net/manual/en/function.ltrim.php从左侧删除所需的字符
答案 2 :(得分:-1)
最简单的解决方案
正如他们所说,最简单的解决方案往往是最好的。而且告诉PHP这是一个我们正在使用的整数更容易。我们通过pre-pending(int)来告诉PHP我们正在使用整数。
使用前面的例子:
<?php
$correct = 45678;
$incorrect = (int)0045678;
echo $correct . '<br />';
echo $incorrect;
?>
你应该打印下面的内容:
45678
45678
我知道这似乎是不言自明的,但我只是在网站开发中学习了几年的类型转换。也许你会发现这个用途。