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

mic*_*oop 3 php function zero

我创建了一个简单的php(5.2.6)函数:

文件a.php:

function la ($n) {
    echo "$n";
}
Run Code Online (Sandbox Code Playgroud)

文件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);
Run Code Online (Sandbox Code Playgroud)

有时它会打印1,2 ... 9,10,有时会打印0而不是8或9!看起来随机.为什么?为什么只有8或9?的确,我可以避免这种情况.但是,既然我发现了奇怪的行为,我想问你:这种奇怪行为的秘诀是什么?或者我很奇怪.谢谢.

gee*_*aur 6

Leading 0通常表示以八进制表示法而不是十进制表示的数字; 8并且9不是有效的八进制数字.(我承认不知道为什么PHP会关心;它不是Web内容的常规表示法.)