}
/* }}} */
-/* {{{ proto mixed min(mixed arg1 [, mixed arg2 [, mixed ...]])
+/* {{{
+ * proto mixed min(array values)
+ * proto mixed min(mixed arg1 [, mixed arg2 [, mixed ...]])
Return the lowest value in an array or a series of arguments */
PHP_FUNCTION(min)
{
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, 0)) != 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 {
--FILE--
<?php
-var_dump(min(1));
-var_dump(min(array()));
-var_dump(min(new stdclass));
+try {
+ var_dump(min(1));
+} catch (\TypeError $e) {
+ echo $e->getMessage() . "\n";
+}
+
+try {
+ var_dump(min(array()));
+} catch (\Error $e) {
+ echo $e->getMessage() . "\n";
+}
+
+try {
+ var_dump(min(new stdclass));
+} catch (\TypeError $e) {
+ echo $e->getMessage() . "\n";
+}
+
var_dump(min(2,1,2));
var_dump(min(2.1,2.11,2.09));
var_dump(min("", "t", "b"));
echo "Done\n";
?>
---EXPECTF--
-Warning: min(): When only one parameter is given, it must be an array in %s on line %d
-NULL
-
-Warning: min(): Array must contain at least one element in %s on line %d
-bool(false)
-
-Warning: min(): 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(1)
float(2.09)
string(0) ""