PHP удалить первые нули

хотите удалить все 0 в начале какой-либо переменной.

варианты:

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

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

7 ответов


приведите его к integer

$var = (int)$var;

может быть ltrim?

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

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

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


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

или если вам все равно, что он остается строкой, просто преобразуйте в int и оставьте его на этом.


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

echo +$var;

Carefull на типе отливки;

var_dump([
    '0014010011071152',
    '0014010011071152'*1,
    (int)'0014010011071152',
    intval('0014010011071152')
]);

принты:

array(4) {
    [0]=> string(16) "0014010011071152"
    [1]=> float(14010011071152)
    [2]=> int(2147483647)
    [3]=> int(2147483647)
}

умножьте его на 1

$var = "0000000000010";
print $var*1;  

//prints 10