如何编辑源代码?我已经使用这个来源 20 年了。
function dayOfWeek ($day, $month, $year)
{
if ($month < 3) {
$month += 10;
$year--; // **24 line**
}
else {
$month -= 2;
}
警告:类型 null 的减量没有效果,这将在 PHP 的下一个主要版本位于 /home/gagebu/www/calendar.php 第 24 行
PHP 长期以来一直在努力清理其固有的弱类型造成的一些混乱,这也不例外。这是根据 this RFC 进行更改的,其中指出尝试递增与递减时会发生意外情况
null
$x = $y = null;
$x++;
var_dump($x); // 1
$y--;
var_dump($y); // NULL
这是不一致的行为。相反,PHP 希望您将来传递一些数字。
要修复您的代码,只需添加对
null
的检查。我已经添加了当前年份,但您可以添加自己的默认值
function dayOfWeek ($day, $month, $year)
{
if($year === null) $year = date('Y');
if ($month < 3) {
$month += 10;
$year--; // **24 line**
}
else {
$month -= 2;
}
}