如果特定函数无法执行,PHP函数返回布尔值

时间:2012-03-07 12:44:11

标签: php

我有一个需要2个参数的PHP函数。该函数计算给定2个日期之间的天数(参数以MM / DD / YYYY格式给出)。当我传递无效类型的参数时,PHP会抛出一个错误。  所以我的问题是...是否有一个函数或类似的东西将捕获该错误(所以PHP已经不会给我一个错误)所以我将能够在我的“if()”语句中使用它来查看天气功能是否已成功执行?

3 个答案:

答案 0 :(得分:0)

在将日期参数传递给函数之前验证它们。因此,请检查参数是否为有效日期。

http://php.net/manual/en/function.checkdate.php

答案 1 :(得分:0)

您应该编写代码,但可以尝试这样的代码:

function diffDates($date1 , $date2)
{
  if(!isValidDate($date1) || !isValidDate($date2))
    return false;

 //Do something

 return true;
}

//Check if $date is in format: mm/dd/yy
function isValidDate($date)
{
 $temp = explode("/" , $date);
 if(!is_array($temp))
   return false;
 return checkdate($temp[0] , $temp[1] , $temp[2]);
}

答案 2 :(得分:0)

你也可以使用DateTime对象并将它们包装在像@linuxeasy推荐的try / catch中。它可以识别各种日期格式,甚至还有一个方便的“diff”方法,可以应用于两个DT对象。 http://us.php.net/manual/en/datetime.diff.php