I’m trying to write a PHP function that receives an array of positive numbers and returns the largest number in the array. Though if the array is empty, it must return 0…
So far I have:
<?php function getMaxArray($arr) { $i; $max = $arr[0]; for ($i = 1; $i < $n; $i++) { if ($arr[$i] > $max) { $max = $arr[$i]; } } return $max; }
But am not really sure how to incorporate the ‘else 0’, should I try to insert the for loop, inside of an ‘if first’ (couldn’t quite get it to work, upon my first try)?
Also, how would I make sure that the array only accepts positive numbers? I tried asking some friends and googling, but couldn’t find much on this…
Advertisement
Answer
Use max() for this, no need to overcomplicate the function:
$numbers = [103, 170, 210, 375, 315, 470, 255]; function getMaxArray($arr) { if (empty($arr)) { return 0; } else { return max($arr); } } $largest = getMaxArray($numbers); echo $largest;