26

想删除所有0放在某个变量开头的东西。

一些选项:

  1. 如果$var = 0002, 我们应该先剥离000( $var = 2)
  2. 如果var = 0203410我们应该先删除0( $var = 203410)
  3. 如果var = 20000- 什么都不做 ( $var = 20000)

解决办法是什么?

4

7 回答 7

78

将其转换为整数

$var = (int)$var;
于 2010-08-25T07:35:50.893 回答
31

也许ltrim

$var = ltrim($var, '0');
于 2010-08-25T07:35:46.293 回答
12
$var = ltrim($var, '0');

这仅适用于字符串,以 0 开头的数字将被解释为八进制数,多个零被忽略。

于 2010-08-25T07:36:02.373 回答
5
$var = strval(intval($var));

或者,如果您不关心它仍然是一个字符串,只需转换为 int 并保留它。

于 2010-08-25T07:35:54.747 回答
5

只需使用 + 内部变量:

echo +$var;
于 2014-06-15T18:05:44.537 回答
2

乘以 1

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

//prints 10
于 2018-07-20T08:14:01.773 回答
0

对铸件类型谨慎;

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

印刷:

array(4) {
    [0]=> string(16) "0014010011071152"
    [1]=> float(14010011071152)
    [2]=> int(2147483647)
    [3]=> int(2147483647)
}
于 2018-05-04T13:41:54.993 回答