PHP:if文でブーリアンを返す場合で、二つの受け取る値のどちらかがtrueである必要があるとき、二つの値がイコールでなければ、と書くことができる(プログラマーはすごいものだ)

function funcname(bool $beef, bool $chicken, bool $salad, bool $coffee, bool $tea): bool{
    return $beef != $chicken && $coffee != $tea;
    /* ↓ if文が一行で済むことになるため、下記のように「if」から書く必要がない。
    if (($beef != $chicken) && ($coffee != $tea)) return true;
    return false;
    */
}
echo (funcname(false,false,true,false,true) ? "true" : "false") . PHP_EOL; // false
echo (funcname(false,true,true,false,true) ? "true" : "false") . PHP_EOL; // true
echo (funcname(true,true,true,false,true) ? "true" : "false") . PHP_EOL; // false
echo (funcname(true,false,true,true,true) ? "true" : "false") . PHP_EOL; // false
echo (funcname(true,false,false,false,false) ? "true" : "false") . PHP_EOL; // false
echo (funcname(false,true,false,false,true) ? "true" : "false") . PHP_EOL; // true
目次
閉じる