我在 PHP 5.4.10 下运行的页面中有以下代码段(注意 === 比较)。
$list_all_pages = False;
$reqs_per_page = 50;
$start_page = 0;
if (isset($_GET["p"])) {
echo("Debug: " . $_GET["p"] . "\n");
if ($_GET["p"] === "all") {
$list_all_pages = True;
} else {
$start_page = intval($_GET["p"]);
if ($start_page < 1)
$start_page = 0;
}
}
参数“p”是要显示的结果页数(从零开始)或“all”显示所有页。由于我不明白的原因,PHP 自动将我的参数转换为整数,因此我永远无法显示我希望的所有页面。
例如,使用“ mypage.php?p=all
”调用页面会导致调试回显打印“调试:0”
发生了什么?我认为这种自动转换有点危险......以前有人遇到过这个问题吗?