gpt4 book ai didi

php,如何简化一个php脚本?

转载 作者:可可西里 更新时间:2023-11-01 00:16:28 24 4
gpt4 key购买 nike

我不确定这是一个很好的问题,但这是我的问题。我有一个 if声明太长了,我想知道是否有其他类型的语法可以缩短它:

if (($time1 <= $one_day)&&
($time2 <= $one_day)&&
($time3 <= $one_day)&&
($time4 <= $one_day)&&
($time5 <= $one_day)&&
($time1 != NULL)&&
($time2 != NULL)&&
($time3 != NULL)&&
($time4 != NULL)&&
($time5 != NULL)){
//do sometihng
}

这是一个例子,但我有一个类似的例子,最高可达 ..&&($time15 <= $one_day) .

该声明非常不言自明,$time1, $time2, etc可以空着回来所以我必须检查它们是否是 NULL还是不是

有什么想法吗?

谢谢

最佳答案

您可以将常用的东西放在一个函数中:

function validate_time($time, $one_day) {
return $time <= $one_day && $time != NULL;
}
if (validate_time($time1, $one_day) &&
validate_time($time2, $one_day) &&
validate_time($time3, $one_day) &&
validate_time($time4, $one_day) &&
validate_time($time5, $one_day)) {
// do something
}

您可能想要重构代码并消除复制和粘贴这些检查的需要。完成工作的另一种方法:

while (true) {
foreach (array($time1, $time2, $time3, $time4, $time5) as $time) {
if ($time > $one_day || $time == NULL) {
break 2;
}
}
// do something
break;
}

上面的内容也可以放在一个函数中,这会使 while 循环和 break 关键字变得多余。用 return then 替换 break 2

关于php,如何简化一个php脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7651350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com