mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
Promote warnings to errors in max()
This commit is contained in:
parent
b91a881b32
commit
9fc3d5da11
@ -1287,7 +1287,9 @@ PHP_FUNCTION(min)
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto mixed max(mixed arg1 [, mixed arg2 [, mixed ...]])
|
||||
/* {{{
|
||||
* proto mixed max(array values)
|
||||
* proto mixed max(mixed arg1 [, mixed arg2 [, mixed ...]])
|
||||
Return the highest value in an array or a series of arguments */
|
||||
PHP_FUNCTION(max)
|
||||
{
|
||||
@ -1303,14 +1305,14 @@ PHP_FUNCTION(max)
|
||||
zval *result;
|
||||
|
||||
if (Z_TYPE(args[0]) != IS_ARRAY) {
|
||||
php_error_docref(NULL, E_WARNING, "When only one parameter is given, it must be an array");
|
||||
RETVAL_NULL();
|
||||
zend_type_error("When only one parameter is given, it must be an array");
|
||||
return;
|
||||
} else {
|
||||
if ((result = zend_hash_minmax(Z_ARRVAL(args[0]), php_array_data_compare, 1)) != NULL) {
|
||||
ZVAL_COPY_DEREF(return_value, result);
|
||||
} else {
|
||||
php_error_docref(NULL, E_WARNING, "Array must contain at least one element");
|
||||
RETVAL_FALSE;
|
||||
zend_throw_error(NULL, "Array must contain at least one element");
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -5,9 +5,24 @@ precision=14
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
try {
|
||||
var_dump(max(1));
|
||||
} catch (\TypeError $e) {
|
||||
echo $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
try {
|
||||
var_dump(max(array()));
|
||||
} catch (\Error $e) {
|
||||
echo $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
try {
|
||||
var_dump(max(new stdclass));
|
||||
} catch (\TypeError $e) {
|
||||
echo $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
var_dump(max(2,1,2));
|
||||
var_dump(max(2.1,2.11,2.09));
|
||||
var_dump(max("", "t", "b"));
|
||||
@ -18,15 +33,10 @@ var_dump(max(0, true, false, true));
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: max(): When only one parameter is given, it must be an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: max(): Array must contain at least one element in %s on line %d
|
||||
bool(false)
|
||||
|
||||
Warning: max(): When only one parameter is given, it must be an array in %s on line %d
|
||||
NULL
|
||||
--EXPECT--
|
||||
When only one parameter is given, it must be an array
|
||||
Array must contain at least one element
|
||||
When only one parameter is given, it must be an array
|
||||
int(2)
|
||||
float(2.11)
|
||||
string(1) "t"
|
||||
|
Loading…
Reference in New Issue
Block a user