0
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しかし、 orでは何も返されません$b = false;$borを書くのではなく、ブール値に代入して関数を機能させる方法はあります'==1''==0'?

4

3 に答える 3

2

問題は、コメントしたエコーにあります。変数がtrueかfalseかを確認したい場合は、使用する必要があります

var_dump($variable)

それ以外の

echo $variable;
于 2013-10-06T19:55:48.817 に答える
0

変数を 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;
}
于 2013-10-06T19:54:48.407 に答える
0
  • true または false を返し、演算子 === および !== を使用して戻り値をテストします
  • ブラウザーでブール変数をエコーすると、true または false が表示されません。true の場合は 1 が表示され、false の場合は何も表示されず、印刷するためにブール値を次のように文字列として書き込みます。

    $var = false; if($var === true) echo 'true'; else if($var === false) echo 'false';

于 2013-10-06T20:05:18.130 に答える