Zend / PHP: Как удалить все начальные 0 из строки? - PullRequest
3 голосов
/ 14 апреля 2010

У меня есть строка, которая содержит только цифры.Теперь я хочу удалить все начальные 0 из этой строки

Например:

input: 000000001230
output: 1230


input: 01000
output: 1000

Есть ли в PHP / Zend какая-либо функция для этого?

Спасибо

Ответы [ 4 ]

18 голосов
/ 14 апреля 2010
$myvar = ltrim('01000','0');
6 голосов
/ 14 апреля 2010

Нет. Существует только Zend_Filter_StringTrim, но это не ltrim, а preg_replace (с поддержкой юникода) с обоих концов Либо

  • написать собственный фильтр, который просто обрезается слева или
  • используйте решение , предлагаемое 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 голосов
/ 30 мая 2010

Разве вы не можете просто привести к int?

$s = '00000414';
print (int)$s; // 414
3 голосов
/ 14 апреля 2010

Zend_Filter_Int также будет работать для этого конкретного случая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...