2017-01-27 7 views
1

のうちの2つの有効な値をチェック

私がやろうとしていますどのような3つ以上の変数が空であるかどうかをチェックします。変数の1以上は '  'に等しい場合 [$ X ==  '  ']ここで

が、私はその使用を開始したものではテストします: if ($a == '' || $b =='' || $c =='' || $d =='' || $e ='')

でも欲しいI同じ変数の  "

の任意の2以上が、私はすべての反復のelseifsより良い方法があるに違いありません知っているかどうかをチェックされてやりたいです。
、B、C、D E
、B、 C D E
、B、 C D E
B、C、D e
など....

ご協力いただければ幸いです。

+1

あなたは 'array_filter()'や 'array_reduce()' ')(カウント'とを使用して、配列内のすべてのこれらの変数を入れて、2以上が残っている場合、それらをフィルタリングするかどうかを確認できました。 – Rizier123

答えて

0
$arr = [$a, $b, $c, $d, $e]; 
$num_empty = count(array_filter($arr, function($a) { 
    return $a === ''; 
})); 
$more_than_two_empty = $num_empty >= 2; 

array_filter

+0

'array_filter()'が指定されたコールバックを持たない場合、OPがフィルタリングしたい空の文字列 '' "'よりも多くのものをフィルタリングします。 '0'、' false'、 'NULL'、' '0''、' array() 'をフィルタリングします。 – Rizier123

+0

@ Rizier123 true;私は最初に、変数があらかじめ文字列か空文字列かを知っているかのように質問を読みました。 –

+0

それは本当に知って良いです。私は空の文字列をテストするだけです。他はすべて文字列です。私は今テストをします。どうもありがとうございます! – SCJack

関連する問題