条件判定を何も考えないで書いちゃうと
if(条件A && 条件B && 条件C && …)っていう見通しの悪いコードができてしまうので改善できないか考えてみました。
以下コードになります。
//AND条件のチェック
function andCheck($array){
$flg = 0;
foreach( $array as $key ){
$flg += $key ? 0 : 1;
}
return $flg > 0 ? false : true;
}
//OR条件のチェック
function orCheck($array){
$flg = 0;
foreach( $array as $key ){
$flg += $key ? 1 : 0;
}
return $flg > 0 ? true : false;
}
$arr = array(1 === 2,
6 > 6,
'10'.'0' === 100,
0*0 == 0
);
echo andCheck($arr) ? 'ok' : 'ng'; //ng
echo orCheck($arr) ? 'ok' : 'ng'; //ok