Reputation: 153
I need to get the greatest even number out of this array with a for-loop. I know how to get the highest number from the loop, but it's not even.
This is the code I have so far:
<?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;
?>
Upvotes: 2
Views: 868
Reputation: 98921
To find the highest odd number inside an array
, you can use array_filter and max.
$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 you just need to find if a number is even or odd, you can use:
//if Even Number
$number = "222";
if(!($number & 1)){...}
//if Odd Number
$number = "221";
if($number & 1){...}
Upvotes: 2
Reputation: 579
if($resultaat < $aReeks[$i] && $aReeks[$i] % 2 == 0)
modulo of division by two is zero -> even number
Upvotes: 8