Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP在一行中编写闰年程序?_Php_Leap Year - Fatal编程技术网

如何使用PHP在一行中编写闰年程序?

如何使用PHP在一行中编写闰年程序?,php,leap-year,Php,Leap Year,如何使用PHP在一行中编写闰年程序?由于代码行的长度没有限制,除非您使用Zend Framework这样的代码约定,否则您可以使用任何有效的代码并写入一行。当然,根据闰年计划的功能,这可能很难维护。我见过运行超过800个字符的遗留代码,PHP、HTML和CSS混合在一起。我可以告诉你,眼睛在流血。echo dateL 如果$year%400==0 | |$year%100!==0&&$year%4===0 这是使用一行代码了解它的方法: $nextyear = mktime(0, 0, 0,

如何使用PHP在一行中编写闰年程序?

由于代码行的长度没有限制,除非您使用Zend Framework这样的代码约定,否则您可以使用任何有效的代码并写入一行。当然,根据闰年计划的功能,这可能很难维护。我见过运行超过800个字符的遗留代码,PHP、HTML和CSS混合在一起。我可以告诉你,眼睛在流血。

echo dateL

如果$year%400==0 | |$year%100!==0&&$year%4===0

这是使用一行代码了解它的方法:

$nextyear  = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);
print (date("L") == 1) ? "Leap Year" : "Not Leap Year";

达特尔;它甚至更短

if(date("L")){
   //leap year
} else {
   //not leap year
}

请定义一下你所说的闰年计划是什么意思?这可能意味着很多事情。不要触摸回车键。由于三元运算符的大量使用……好的,定义闰年:如果年份%400=0,它的闰年如果年份%4=0,它也是闰年,如果年份%100不是闰年。出于好奇,我可以问一下,为什么只有一行?啊!对不起,我不知道闰年的意思。但我会把这个答案保留在这里,以防人们最终会问我以为你问的问题!甚至更短:$isLeapYear=dateL==1@戈登:没错,但我只是想打印输出:@Gordon-dateL已经返回bool了$isLeapYear=dateL;是你所需要的一切。@thetaiko不是bool。一串var_dumpdate'L';//第10条。但是由于1和0将根据需要进行类型转换,是的,我同意它可以进一步缩短。从if year&3==0&&year%25!=0 | | year&15==0{/*闰年*/}我不想维护该代码。对仅仅是算术运算的东西的位运算是神秘的。您引用的原始答案考虑了性能,因此在某些情况下可能与性能相关。但对于所有其他情况,我宁愿保留一个可读的表达式;或者,将代码放在类似IsLeapYear的函数中,在该函数中可以清楚地知道它的作用。由于公历不会很快改变,我不认为可维护性是一个很大的问题。在没有除法指令的8位嵌入式系统CPU中,该代码的速度可以是原来的两倍多,甚至快十倍。