web-dev-qa-db-ja.com

PHP最初のゼロを削除

すべて削除したい0一部の変数の先頭に配置されます。

いくつかのオプション:

  1. もし$var = 0002、最初にストリップする必要があります000$var = 2
  2. もしvar = 0203410最初に削除する必要があります0$var = 203410
  3. もしvar = 20000 - 何もしない ($var = 20000

解決策は何ですか?

18
James

整数にキャストする

$var = (int)$var;
60
drAlberT

多分ltrim

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

これは文字列でのみ機能し、0で始まる数値は8進数として解釈され、複数のゼロは無視されます。

8
Lekensteyn

変数内で+を使用するだけです。

echo +$var;
3
poostchi
$var = strval(intval($var));

または、それが文字列のままであることを気にしない場合は、intに変換してそのままにしておきます。

3
Amber

1倍します

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

//prints 10
1

キャスティングタイプに注意してください。

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