No Max() On Empty Array

max() does not accept an empty array as argument. In that case, it used to return NULL, but NULL is also a valid return value, and it is not possible to differentiate between the NULL of an empty array and the NULL that is really a maximum value.

PHP code

<?php

max([]);

?>

Before

PHP Warning:  max(): Array must contain at least one element in /codes/maxOnEmpty.php on line 3

Warning: max(): Array must contain at least one element in /codes/maxOnEmpty.php on line 3

After

PHP Fatal error:  Uncaught ValueError: max(): Argument #1 ($value) must contain at least one element in /codes/maxOnEmpty.php:3
Stack trace:
#0 /codes/maxOnEmpty.php(3): max(Array)
#1 {main}
  thrown in /codes/maxOnEmpty.php on line 3

Fatal error: Uncaught ValueError: max(): Argument #1 ($value) must contain at least one element in /codes/maxOnEmpty.php:3
Stack trace:
#0 /codes/maxOnEmpty.php(3): max(Array)
#1 {main}
  thrown in /codes/maxOnEmpty.php on line 3

PHP version change

This behavior changed in 8.0

Error Messages