Zend/PHP:如何从字符串中删除所有前导0?

3
我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:

我有一个只包含数字的字符串。现在我想从该字符串中删除所有前导0。

例如:

input: 000000001230
output: 1230


input: 01000
output: 1000

有没有PHP / Zend中的函数可以做到这一点?谢谢。
4个回答

18
$myvar = ltrim('01000','0');

6
不,只有Zend_Filter_StringTrim,但它不是ltrim,而是从两端使用preg_replace(支持unicode)。您可以选择:

  • 编写一个自定义过滤器仅从左侧修剪或
  • 使用oezi提供的解决方案

使用Zend_Filter_Callback

echo Zend_Filter::filterStatic('000111000', 'Callback', array('ltrim', '0'));
// gives 111000

或者使用过滤器实例。
$trimmer = new Zend_Filter_Callback('ltrim', '0');
echo $trimmer->filter('000111000'); // gives 111000

这样你就可以在过滤器链中使用它。

4

你不能直接将其强制转换为整型吗?

$s = '00000414';
print (int)$s; // 414

3
Zend_Filter_Int也适用于这种情况。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接