PHP:関数の戻り値がブーリアン型の場合、if文のカッコ内を変数名だけにできる場合がある

以下の「$checktime」 は true または false のブーリアン値。ブーリアン値を返す式は「述語」なので、$checktime 自体を「述語」として扱うことが可能。つまり 「if($checktime == true)」 と記述する必要はない。初心者にありがちなので注意。

function funcname($price,$checktime){
   if($checktime) $money = $money * $price;
   else $money = $money * $price + 500;

   return $money;
}

echo funcname(2000,true) . PHP_EOL;
echo funcname(5000,false) . PHP_EOL;
目次
閉じる