function date2_in_the_past($day, $month, $year)
{
$datestring = $year . "-" . $month . "-" . $day;
if (date ('Y-m-d', strtotime($datestring)) < date('Y-m-d', strtotime("now",time()))) {
$b = 1; **// I want $b = true**;
}
else { $b = 0; **// I want $b = false;** }
return $b;
}
//echo date2_in_the_past(24, 10, 2013); // returns 0
但它不会返回任何带有$b = true
或$b = false;
的内容。知道我如何使函数将$b
分配给布尔值而不是编写'==1'
或'==0'
吗?
问题出在您评论的回显中。 如果要检查变量是真还是假,则应使用
var_dump($variable)
而不是
echo $variable;
您可以将变量初始化为 bool:
function date2_in_the_past($day, $month, $year)
{
$datestring = $year . "-" . $month . "-" . $day;
if (date ('Y-m-d', strtotime($datestring)) < date('Y-m-d', strtotime("now",time()))) {
bool $b = true; **// I want $b = true**;
}
else { bool $b = false; **// I want $b = false;** }
return $b;
}
- 返回 true 或 false 并使用运算符 === 和 !== 测试返回值
-
当您在浏览器上回显布尔变量时,您看不到真或假,您将看到 1 表示真,没有表示 false 打印它,将布尔值写成字符串,如下所示:
$var = 假;if($var === true) 回声"真";否则如果($var === 假) 回声"假";