svn: /phpdoc/en/trunk/reference/math/functions/ max.xml
| From: | Daniel Egeberg | Date: | Tue, 12 Jan 2010 11:04:05 +0000 |
| Subject: | svn: /phpdoc/en/trunk/reference/math/functions/ max.xml | ||
| Groups: | php.doc.cvs | ||
| Request: | Send a blank email to doc-cvs+get-5817@lists.php.net to get a copy of this message | ||
degeberg Tue, 12 Jan 2010 11:04:05 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=293443
Log:
Clarified comparison rules for max(). Closes PHP bug #50607 (max() should say more about
multi-dimensional arrays)
Bug: http://bugs.php.net/50607 (Open) max() should say more
about multi-dimensional arrays
Changed paths:
U phpdoc/en/trunk/reference/math/functions/max.xml
Modified: phpdoc/en/trunk/reference/math/functions/max.xml
===================================================================
--- phpdoc/en/trunk/reference/math/functions/max.xml 2010-01-12 09:28:02 UTC (rev 293442)
+++ phpdoc/en/trunk/reference/math/functions/max.xml 2010-01-12 11:04:05 UTC (rev 293443)
@@ -52,8 +52,19 @@
&reftitle.returnvalues;
<para>
<function>max</function> 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.
</para>
+ <para>
+ When <function>max</function> is given multiple <type>array</type>s, the
+ longest array is returned. If all the arrays have the same length,
+ <function>max</function> will use lexicographic ordering to find the return
+ value.
+ </para>
+ <para>
+ When given a <type>string</type> it will be cast as an
<type>integer</type>
+ when comparing.
+ </para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
@@ -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