[ PHP ] 関数のリターン値と論理積、論理和演算を行う(|= &=)

Pocket

ここでは、PHP において関数のリターン値との論理積、論理和を行うサンプルプログラムを掲載しています。「このような書き方もできるよ」程度の話ですが、覚えておいて損はしないでしょう。得もないかもしれませんが。

スポンサーリンク


関数のリターン値との論理演算を行うサンプル

論理和 (||) や論理積 (&&) 演算子を使って、一旦リターン値を変数に保存してから論理演算を行うことも当然できますが、関数のリターン値との論理演算を行う場合は、次のように省略して記述することができます。詳細はサンプル内のコメントも参照ください。

// 常に true を返す関数
function returnTrueFunc()
{
    return true;
}

// 常に false を返す関数
function returnFalseFunc()
{
    return false;
}

// 初期値に false を設定
$ret = false;

// false と false の論理和
$ret |= returnFalseFunc();
var_dump($ret); // false

// false と true の論理和
$ret |= returnTrueFunc();
var_dump($ret); // true

// true と false の論理和
$ret |= returnFalseFunc();
var_dump($ret); // true

// 初期値に false を設定
$ret = false;

// false と false の論理積
$ret &= returnFalseFunc();
var_dump($ret); // false

// false と true の論理積
$ret &= returnTrueFunc();
var_dump($ret); // false

上記のように記述することで、1つでも true がある場合は true と判断したり、false が1つでもある場合は false と判断するようなコードがすっきりと記述できるようになります(?)。

参考

 

スポンサーリンク

Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>