2016-06-28 14 views
1

3つのユーザー入力を配列に入れます。すべての数字。 3つの数字がすべて正であるかどうかをチェックしたいと思います。php数字の配列がすべて正であるかどうかを確認する方法

以下のコードは、1つが肯定的な場合にtrueを返します。

 foreach($array as $value){ 
      if($value >= 0){ 
       return TRUE; 
      }else{ 
       return FALSE; 
      } 
     } 

heybignickの提案を使用します。以下のコードは私に望ましい結果を与えるようです。

$array = array(1,2,3,4,-5); 


if(min($array)<0){ 
    echo "negative"; 
}else{ 
    echo "positive";  
} 
+3

は、それからちょうど条件を変更するとすぐに、負のいずれかが発生し、すべてが通過する場合は、最後にtrueを返すことができますようにfalseを返します。 – Rizier123

+0

これはスマートです、これを試してみます – codenoob

+0

FYI、@codenoob、私はあなたが肯定的と言うとき、あなたは "非負"を意味すると思います。あなたが本当に "肯定的"を意味するならば、様々な解決策のコードは間違っています。 – smarx

答えて

10

は、あなただけの望ましい結果を得るために分を使用してもらえますか?

return min($array) >= 0 
+1

'return min($ array)> = 0' ... upvoted :) – Wizard

+0

これは簡潔ですが無駄です。 (最初の数字が負の数である場合、なぜそれらをすべて見て最小の数字を見つけるのが難しいのですか?) – smarx

4

Rizier123の修正案@実装:

foreach($array as $value) { 
    if($value < 0) { 
     return FALSE; 
    } 
} 
return TRUE; 
関連する問題