2016-06-28 84 views
1

我将3个用户输入放入数组中。所有数字。我想检查这3个数字是否都是正数。php如何检查一组数字是否都是正数

下面的代码将返回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。 – Rizier123

+0

这是聪明的,会试试这个 – codenoob

+0

仅供参考,@codenoob,我认为你的意思是“非否定”,当你说正面。如果你确实是指“积极的”,那么各种解决方案中的代码是错误的。 – smarx

回答

10

你能不能用分钟得到期望的结果?

return min($array) >= 0 
+1

只是'返回分钟($阵列)> = 0' ... upvoted :) – Wizard

+0

这是简洁但浪费。 (如果第一个数字是否定的,为什么我们不得不查看所有数字并找到最小数字?) – smarx

4

实现@ Rizier123的修复建议:

foreach($array as $value) { 
    if($value < 0) { 
     return FALSE; 
    } 
} 
return TRUE;