diff --git a/reference/math/functions/max.xml b/reference/math/functions/max.xml index 4c0e875926..0aae9b190f 100644 --- a/reference/math/functions/max.xml +++ b/reference/math/functions/max.xml @@ -52,7 +52,18 @@ &reftitle.returnvalues; max returns the numerically highest of the - parameter values. + parameter values. If multiple values can be considered of the same size, + the one that is listed first will be returned. + + + When max is given multiple arrays, the + longest array is returned. If all the arrays have the same length, + max will use lexicographic ordering to find the return + value. + + + When given a string it will be cast as an integer + when comparing. @@ -66,12 +77,21 @@ echo max(1, 3, 5, 6, 7); // 7 echo max(array(2, 4, 5)); // 5 +// When 'hello' is cast as integer it will be 0. Both the parameters are equally +// long, so the order they are given in determines the result echo max(0, 'hello'); // 0 echo max('hello', 0); // hello + +echo max('42', 3); // '42' + +// Here 0 > -1, so 'hello' is the return value. echo max(-1, 'hello'); // hello -// With multiple arrays, max compares from left to right -// so in our example: 2 == 2, but 4 < 5 +// With multiple arrays of different lengths, max returns the longest +$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1) + +// With multiple arrays of the same length, max compares from left to right +// using lexicographic order, so in our example: 2 == 2, but 4 < 5 $val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7) // If both an array and non-array are given, the array