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