This question already has answers here:
What does a leading zero do for a php int?
(4个答案)
7年前关闭。
我不知道如何用谷歌搜索这个,所以我在这里问。为什么当我声明一个变成61的
八进制数字系统是一个以8为底的数字系统。
您只能使用0到7之间的数字(其他数字将被舍弃)。
http://www.php.net/manual/en/language.types.integer.php
您可以使用ltrim跳过零。
(4个答案)
7年前关闭。
我不知道如何用谷歌搜索这个,所以我在这里问。为什么当我声明一个变成61的
$something = 0759
变量时会发生这种情况。我知道答案必须非常简单,所以请原谅我的愚蠢。 最佳答案
它是一个整数文字,您声明一个带前导零的八进制数。
$something = 0759; // octal
八进制数字系统是一个以8为底的数字系统。
您只能使用0到7之间的数字(其他数字将被舍弃)。
$a = 0759;
$b = 075;
var_dump($a==$b);
// bool(true)
http://www.php.net/manual/en/language.types.integer.php
您可以使用ltrim跳过零。
$a = ltrim("0759", 0);
echo $a; // 759
// and reformat as suggested with str_pad or printf
echo str_pad($a, 4, "0", STR_PAD_LEFT);
10-06 15:51