PHP:使用前导零参数调用的函数内部为零

时间:2012-05-11 18:43:59

标签: php function zero

我创建了一个简单的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? 的确,我可以避免这种情况。但是,既然我发现了奇怪的行为,我想问你:这种奇怪行为的秘诀是什么?或者我很奇怪。谢谢。

2 个答案:

答案 0 :(得分:6)

前导0通常表示以八进制表示法而不是十进制表示的数字; 89不是有效的八进制数字。 (我承认不知道为什么PHP会关心;它不是Web内容的常规表示法。)

答案 1 :(得分:0)

如果你想要零前导,你应该像string那样传递它:

la ('07');