2016-05-13 62 views
2

我需要用for循环从这个数组中获得最大的偶数。我知道如何从循环中获得最高的数字,但它不是。从数组中取得最高偶数

这是我的代码至今:

<?php 
// array aangemaakt 
$aReeks = array(23, 245, 1, 2, 12, -10, 46, 6, 66, 9999, -55, 348, 56, 6, 66, 983); 
$resultaat = 0; 

for ($i = 0; $i < count($aReeks); $i++) { 
    if ($resultaat < $aReeks[$i]) 
      $resultaat = $aReeks[$i]; 
} 

echo $resultaat; 

?> 
+2

过滤出奇数值,然后用MAX() :'$ maxValue = max(array_filter($ aReeks,function($ value){return $ value%2 == 0;}));' –

+0

或者(为了后代的利益)使用可能的新PHP 7.1语法: '$ maxValue = array_filter($ aReeks,function($ value){return $ value%2 == 0; })|> max($$);' –

回答

8
if($resultaat < $aReeks[$i] && $aReeks[$i] % 2 == 0) 

两个师的模数是零 - >偶数

+0

非常感谢! –

2

要找到最高内的数您可以使用array_filtermax

$aReeks = array(23,245,1,2,12,-10,46,6,66,9999,-55,348,56,6,66,983); 
echo(max(array_filter($aReeks, function($var){return(!($var & 1));}))); 
//348 

如果你只需要找到一个数是否为甚至,你可以使用:

//if Even Number 
$number = "222"; 
if(!($number & 1)){...} 

//if Odd Number 
$number = "221"; 
if($number & 1){...} 
+1

upvote解决方案没有周期:) – Jimmmy