PHP удаляет первые нули
Хотите удалить все 0
, размещенные в начале некоторой переменной.
Некоторые варианты:
- если
$var = 0002
, мы должны сначала раздеться000
($var = 2
) - если
var = 0203410
мы должны сначала удалить0
($var = 203410
) - если
var = 20000
- ничего не делать ($var = 20000
)
Каково же решение?
16
7 answers
Приведите его к целому числу
$var = (int)$var;
53
Author: drAlberT, 2010-08-25 07:35:50
Может быть ltrim
?
$var = ltrim($var, '0');
14
Author: robertbasic, 2010-08-25 07:35:46
$var = ltrim($var, '0');
Это работает только со строками, числа, начинающиеся с 0, будут интерпретироваться как восьмеричные числа, множественные нули игнорируются.
8
Author: Lekensteyn, 2010-08-25 07:36:02
$var = strval(intval($var));
Или, если вам все равно, останется ли это строкой, просто преобразуйте в int и оставьте все как есть.
3
Author: Amber, 2010-08-25 07:35:54
Просто используйте + внутренние переменные:
echo +$var;
2
Author: poostchi, 2014-06-15 18:05:44
Внимательно относитесь к типу литья;
var_dump([
'0014010011071152',
'0014010011071152'*1,
(int)'0014010011071152',
intval('0014010011071152')
]);
Печать:
array(4) {
[0]=> string(16) "0014010011071152"
[1]=> float(14010011071152)
[2]=> int(2147483647)
[3]=> int(2147483647)
}
0
Author: Martijn Hoogstraten, 2018-05-04 13:41:54
Умножьте его на 1
$var = "0000000000010";
print $var*1;
//prints 10
0
Author: Jhourlad Estrella, 2018-07-20 08:14:01