3

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

4

2 回答 2

6

前导0通常表示用八进制而不是十进制书写的数字;8并且9不是有效的八进制数字。(我承认不知道为什么 PHP 会关心它;它不是 web 东西的传统表示法。)

于 2012-05-11T18:45:49.940 回答
0

string如果你想要零领先,你应该通过它:

la ('07');
于 2012-05-11T18:47:47.113 回答