philip          Fri Jul 18 21:03:46 2003 EDT

  Modified files:              
    /phpdoc/en/reference/math/functions max.xml min.xml 
  Log:
  A complete rewrite of min() and max() docs to reflect how they really work, including
  many examples.  See also count().  This also closes bug #22565
  
  
Index: phpdoc/en/reference/math/functions/max.xml
diff -u phpdoc/en/reference/math/functions/max.xml:1.4 
phpdoc/en/reference/math/functions/max.xml:1.5
--- phpdoc/en/reference/math/functions/max.xml:1.4      Sat Jan 18 23:43:55 2003
+++ phpdoc/en/reference/math/functions/max.xml  Fri Jul 18 21:03:46 2003
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
+<!-- $Revision: 1.5 $ -->
 <!-- splitted from ./en/functions/math.xml, last change in rev 1.2 -->
   <refentry id="function.max">
    <refnamediv>
@@ -9,30 +9,64 @@
    <refsect1>
     <title>Description</title>
     <methodsynopsis>
-     <type>number</type><methodname>max</methodname>
-     <methodparam><type>mixed</type><parameter>arg1</parameter></methodparam>
-     <methodparam><type>mixed</type><parameter>arg2</parameter></methodparam>
-     <methodparam><type>mixed</type><parameter>argn</parameter></methodparam>
+     <type>mixed</type><methodname>max</methodname>
+     <methodparam><type>number</type><parameter>arg1</parameter></methodparam>
+     <methodparam><type>number</type><parameter>arg2</parameter></methodparam>
+     <methodparam 
choice="opt"><type>number</type><parameter>...</parameter></methodparam>
+    </methodsynopsis>
+    <methodsynopsis>
+     <type>mixed</type><methodname>max</methodname>
+     <methodparam><type>array</type><parameter>numbers</parameter></methodparam>
+     <methodparam 
choice="opt"><type>array</type><parameter>...</parameter></methodparam>
     </methodsynopsis>
     <para>
      <function>max</function> returns the numerically highest of the
      parameter values.
     </para>
     <para>
-     If the first parameter is an array, <function>max</function>
+     If the first and only parameter is an array, <function>max</function>
      returns the highest value in that array.  If the first parameter
      is an integer, string or float, you need at least two parameters
      and <function>max</function> returns the biggest of these values.
      You can compare an unlimited number of values.
     </para>
+    <note>
+     <para>
+      PHP will evaluate a non-numeric <type>string</type> as 
+      <literal>0</literal>, but still return the string if it's seen as the
+      numerically highest value.  If multiple arguments evaluate to
+      <literal>0</literal>, <function>max</function> will use the first one
+      it sees (the leftmost value).
+     </para>
+    </note>
     <para>
-     If one or more of the values is a float, all the values will be
-     treated as floats, and a float is returned.  If none of the
-     values is a float, all of them will be treated as integers, and
-     an integer is returned.
+     <example>
+      <title>Example uses of <function>max</function></title>
+      <programlisting role="php">
+<![CDATA[
+<?php
+echo max(1, 3, 5, 6, 7);  // 7
+echo max(array(2, 4, 5)); // 5
+
+echo max(0, 'hello');     // 0
+echo max('hello', 0);     // hello
+echo max(-1, 'hello');    // hello
+
+// With multiple arrays, max compares from left to right
+// 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
+// is always returned as it's seen as the largest
+$val = max('string', array(2, 5, 7), 42);   // array(2, 5, 7)
+?>
+]]>
+      </programlisting>
+     </example>
     </para>
     <para>
-     See also <function>min</function>.
+     See also <function>min</function> and
+     <function>count</function>.
     </para>
    </refsect1>
   </refentry>
Index: phpdoc/en/reference/math/functions/min.xml
diff -u phpdoc/en/reference/math/functions/min.xml:1.3 
phpdoc/en/reference/math/functions/min.xml:1.4
--- phpdoc/en/reference/math/functions/min.xml:1.3      Sun Jun  2 00:36:16 2002
+++ phpdoc/en/reference/math/functions/min.xml  Fri Jul 18 21:03:46 2003
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
+<!-- $Revision: 1.4 $ -->
 <!-- splitted from ./en/functions/math.xml, last change in rev 1.2 -->
   <refentry id="function.min">
    <refnamediv>
@@ -9,65 +9,64 @@
    <refsect1>
     <title>Description</title>
      <methodsynopsis>
-      <type>number</type><methodname>min</methodname>
+      <type>mixed</type><methodname>min</methodname>
       <methodparam><type>number</type><parameter>arg1</parameter></methodparam>
       <methodparam><type>number</type><parameter>arg2</parameter></methodparam>
-      <methodparam choice="opt"><parameter>...</parameter></methodparam>
+      <methodparam 
choice="opt"><type>number</type><parameter>...</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis>
-      <type>number</type><methodname>min</methodname>
+      <type>mixed</type><methodname>min</methodname>
       <methodparam><type>array</type><parameter>numbers</parameter></methodparam>
+      <methodparam 
choice="opt"><type>array</type><parameter>...</parameter></methodparam>
      </methodsynopsis>
     <para>
      <function>min</function> returns the numerically lowest of the
      parameter values.
     </para>
     <para>
-     In the first variant, you need at least two parameters
-     and <function>min</function> returns the lowest of these values.
-     You can compare an unlimited number of values.  If one of the 
-     variables is undefined, <function>min</function> will fail.
+     If the first and only parameter is an array, <function>min</function>
+     returns the lowest value in that array.  If the first parameter
+     is an integer, string or float, you need at least two parameters
+     and <function>min</function> returns the smallest of these values.
+     You can compare an unlimited number of values.
     </para>
-    <para>
-     In the second variant, <function>min</function>
-     returns the lowest value in <parameter>numbers</parameter>.  
-    </para>
-    <para>
-     If one or more of the values is a <type>float</type>, all the values 
-     will be
-     treated as floats, and a float is returned.  If none of the
-     values is a float, all of them will be treated as <type>integer</type>s, 
-     and an integer is returned.  Upon failure, <function>min</function> 
-     returns <type>NULL</type> and an error of level <constant>E_WARNING</constant>
-     is generated.
-    </para>
-    <para>
-     <informalexample>
-      <programlisting>
+    <note>
+     <para>
+      PHP will evaluate a non-numeric <type>string</type> as 
+      <literal>0</literal>, but still return the string if it's seen as the
+      numerically lowest value.  If multiple arguments evaluate to
+      <literal>0</literal>, <function>min</function> will use the first one
+      it sees (the leftmost value).
+     </para>
+    </note>
+    <para>
+     <example>
+      <title>Example uses of <function>min</function></title>
+      <programlisting role="php">
 <![CDATA[
 <?php
-$a = 4; 
-$b = 9; 
-$c = 3;
-$arr = array(99, 34, 11);
+echo min(2, 3, 1, 6, 7);  // 1
+echo min(array(2, 4, 5)); // 2
 
-// You may want to implement your own error checking in 
-// case of failure (a variable may not be set)
-if (!$min_value = @min($a, $b, $c)) {
-    echo "Could not get min value, please try again.";
-} else {
-    echo "min value is $min_value";
-}
+echo min(0, 'hello');     // 0
+echo min('hello', 0);     // hello
+echo min('hello', -1);    // -1
 
-print min($arr);  // 11
+// With multiple arrays, min compares from left to right
+// so in our example: 2 == 2, but 4 < 5
+$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)
 
+// If both an array and non-array are given, the array
+// is never returned as it's considered the largest
+$val = min('string', array(2, 5, 7), 42);   // string
 ?>
 ]]>
       </programlisting>
-     </informalexample>
+     </example>
     </para>
     <para>
-     See also <function>max</function>.
+     See also <function>max</function> and
+     <function>count</function>.
     </para>
    </refsect1>
   </refentry>



-- 
PHP Documentation Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to