我创建了一个简单的php(5.2.6)函数:
档案a.php:
function la ($n) {
echo "$n";
}
文件b.php:
include ('a.php');
// got many calls of function with leading zero in parameter
la (01);
la (02);
...
la (07);
la (08);
la (09);
la (10);
有时打印1,2 ... 9,10,有时打印0而不是8或9!看起来随机。为什么?为什么只有8或9? 的确,我可以避免这种情况。但是,既然我发现了奇怪的行为,我想问你:这种奇怪行为的秘诀是什么?或者我很奇怪。谢谢。
答案 0 :(得分:6)
前导0
通常表示以八进制表示法而不是十进制表示的数字; 8
和9
不是有效的八进制数字。 (我承认不知道为什么PHP会关心;它不是Web内容的常规表示法。)
答案 1 :(得分:0)
如果你想要零前导,你应该像string
那样传递它:
la ('07');