想删除所有0
放在某个变量开头的东西。
一些选项:
- 如果
$var = 0002
, 我们应该先剥离000
($var = 2
) - 如果
var = 0203410
我们应该先删除0
($var = 203410
) - 如果
var = 20000
- 什么都不做 ($var = 20000
)
解决办法是什么?
想删除所有0
放在某个变量开头的东西。
一些选项:
$var = 0002
, 我们应该先剥离000
( $var = 2
)var = 0203410
我们应该先删除0
( $var = 203410
)var = 20000
- 什么都不做 ( $var = 20000
)解决办法是什么?
将其转换为整数
$var = (int)$var;
也许ltrim
?
$var = ltrim($var, '0');
$var = ltrim($var, '0');
这仅适用于字符串,以 0 开头的数字将被解释为八进制数,多个零被忽略。
$var = strval(intval($var));
或者,如果您不关心它仍然是一个字符串,只需转换为 int 并保留它。
只需使用 + 内部变量:
echo +$var;
乘以 1
$var = "0000000000010";
print $var * 1;
//prints 10
对铸件类型谨慎;
var_dump([
'0014010011071152',
'0014010011071152'*1,
(int)'0014010011071152',
intval('0014010011071152')
]);
印刷:
array(4) {
[0]=> string(16) "0014010011071152"
[1]=> float(14010011071152)
[2]=> int(2147483647)
[3]=> int(2147483647)
}