Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удалить нули
 
 автор: Diplex   (28.04.2010 в 22:26)   письмо автору
 
 

Всем привет!

Есть переменная, в которой числовое значение. Оно может быть любой длины, и может начинаться с нулей - допустим, 00001. Мне нужно убрать все нули, которые идут в начале (т.е. 00001 преобразовать в 1), а если нули встречаются в 02330034, то удалить нужно только первый ноль, а остальные оставить (2330034). Количество нулей может быть разное. Как решить такую задачку? :)

Всем заранее спасибо!!

  Ответить  
 
 автор: Тень*   (28.04.2010 в 22:32)   письмо автору
 
   для: Diplex   (28.04.2010 в 22:26)
 

ltrim(..., '0') -- если речь чисто о строке.

А если речь о небольших числах, вмещающихся в integer, то просто приведение к этому типу.

  Ответить  
 
 автор: Саня   (28.04.2010 в 22:42)   письмо автору
 
   для: Diplex   (28.04.2010 в 22:26)
 

В порядке уменьшения предпочтения:
<?
$num 
intval('000001230004'); // если число влезает в PHP_INT_SIZE байт
$num ltrim('000001230004''0'); // если числа не будут отрицательными
$num preg_replace('!^(-?)0*!''\\1''000001230004'); // для всех ситуаций

  Ответить  
 
 автор: neadekvat   (28.04.2010 в 22:55)   письмо автору
 
   для: Саня   (28.04.2010 в 22:42)
 

$num = ltrim('000001230004', '0'); // если числа не будут отрицательными
А если так:
$num = ltrim('000001230004', '-0');

  Ответить  
 
 автор: Саня   (28.04.2010 в 22:56)   письмо автору
 
   для: neadekvat   (28.04.2010 в 22:55)
 

Тогда потеряется минус.

  Ответить  
 
 автор: Diplex   (28.04.2010 в 23:09)   письмо автору
 
   для: Саня   (28.04.2010 в 22:56)
 

СПАСИБО всем!!

  Ответить  
 
 автор: neadekvat   (28.04.2010 в 23:18)   письмо автору
 
   для: Саня   (28.04.2010 в 22:56)
 

Да, точно, противоположную задачу решаю. Пора спать..

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования