2010-08-25 6 views
13

Хотите удалить все 0, помещенные в начале некоторой переменной.PHP удалить первые нули

Некоторые опции:

  1. если $var = 0002, мы должны полосовой ленты первый 000 ($var = 2)
  2. если var = 0203410 мы должны удалить первую 0 ($var = 203410)
  3. если var = 20000 - не делать ничего ($var = 20000)

Какое решение?

ответ

48

литая его в целое

$var = (int)$var; 
+0

точку с запятой: р – Lekensteyn

+1

@Lekensteyn: Только если это означает, что утверждение вместо выражения. – Gumbo

+0

это была не вся строка :) ehehhe – drAlberT

2
$var = strval(intval($var)); 

или если вы не заботитесь о том, что остальные строки, просто преобразовать в целое и оставить его в этом.

7
$var = ltrim($var, '0'); 

Это работает только с строками, цифры, начинающиеся с 0, будут интерпретироваться как восьмеричные числа, а многочисленные ноль игнорируются.

2

Просто используйте + внутри переменные:

echo +$var; 
+0

Интересно.Можете ли вы разместить ссылку на соответствующую документацию? – brasofilo

+0

Действительно у меня нет ссылки! но работает как шарм! изменить строки на числа и удалить все ненужные ноль и изменить строку на число. – poostchi

+0

Унарный оператор действует на числа, поэтому вы делаете неявный литой ... плохой код, поскольку он скрывает логику без каких-либо других преимуществ ИМХО ... – drAlberT

Смежные вопросы