PHP删除第一个零
要删除某些变量开头的所有PHP删除第一个零,php,formatting,string-formatting,zero,number-formatting,Php,Formatting,String Formatting,Zero,Number Formatting,要删除某些变量开头的所有0。 一些选择: 如果$var=0002,我们应该首先剥离000($var=2) 如果var=0203410我们应该首先删除0($var=203410) 如果var=20000-什么也不做($var=20000) 解决方案是什么?可能是ltrim $var = ltrim($var, '0'); 将其转换为整数 $var = (int)$var; 或者,如果您不关心它是否仍然是一个字符串,只需将其转换为int并保持不变 $var = ltrim($var, '0');
0
。
一些选择:
$var=0002
,我们应该首先剥离000
($var=2
)var=0203410
我们应该首先删除0
($var=203410
)var=20000
-什么也不做($var=20000
)解决方案是什么?可能是
ltrim
$var = ltrim($var, '0');
将其转换为整数
$var = (int)$var;
或者,如果您不关心它是否仍然是一个字符串,只需将其转换为int并保持不变
$var = ltrim($var, '0');
这仅适用于字符串,以0开头的数字将被解释为八进制数字,多个零将被忽略。只需使用+内部变量:
echo +$var;
在铸造类型上谨慎
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
@Lekensteyn:除非它是一个语句而不是一个表达式。它不是整行:)ehehheis javascript中有类似的函数吗?当然,几乎每种语言都有强制转换功能。在JS中,您可以使用parseInt()@Workinghard、
parseInt(var,10)
或1*var
(我最喜欢的:)有趣。你能发一个相关文档的链接吗?真的,我没有参考资料!但它像一个符咒!将字符串更改为数字,删除所有不必要的零,并将字符串更改为数字。一元运算符作用于数字,因此您正在执行隐式转换。。。糟糕的代码,因为它隐藏了逻辑,没有其他优势,我想…很好的尝试,它在Javascript中工作,但在PHP中,您只需强制转换var:-Dloll。。。我喜欢你的回答“poostchi”。它真的很有魅力。我只是在我的项目中使用它。但是没有相关文档的事实让我思考:(是的,这样我们就不会影响可能的小数位。
$var = "0000000000010";
print $var*1;
//prints 10