我是PHP的新手。我试图在学习PHP的同时将0123存储在PHP变量中,但是当我回显变量时它显示83而不是0123。任何人都可以告诉我确切的技术原因。
先谢谢, Dhaval
答案 0 :(得分:4)
因为当你将它存储为字符串时,你可能试图存储为整数。
// Incorrect
$var = 0123 // octal number (equivalent to 83 decimal)
// Correct
$var = '0123'
答案 1 :(得分:1)
答案 2 :(得分:1)
你可能正在做这样的事情
$var = 0123;
这是一个整数而不是字符串。旁注:“0123”不是一个数字,因为除了0
或abs($var)<1
之外,没有数字具有前导$var == 0
。但是当与整数一起使用时,前导0
具有特殊含义:它被视为基数为8的整数,然后将其转换为基数-10
0123_8 = 83_10
1*8^2 + 2*8^1 + 3*8^0 = 8*10^1 + 3*10^0