PHPで切り替えなどに便利なトグルを簡単に書く方法

ブール値などのtrue,falseを繰り返すような変数定義に便利な書き方を知ったのでメモしておきます。

$hoge = true;

for($i=1;$i<10;$i++){
	$hoge = !$hoge;
	var_dump($hoge);
}

これを実行すると結果は、

bool(false) bool(true) bool(false) bool(true) bool(false) bool(true) bool(false) bool(true) bool(false)

こんな感じでtrue,falseが交互に$hogeに代入されます。

ポイントは$hoge = !$hoge;ですが、ゆくゆく考えてみると条件分岐の条件式などに!を使って否定式などを作る時があったわけで、いくらでも気がつける機会はあったようにも思いますが今日まで知らずじまいでした^^;