Kip Verslaafde
Kip Verslaafde

Reputation: 153

Getting highest even number out of an array

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

Answers (2)

Pedro Lobito
Pedro Lobito

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

Jimmmy
Jimmmy

Reputation: 579

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

modulo of division by two is zero -> even number

Upvotes: 8

Related Questions