1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 325049 $ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.max">
<refnamediv>
<refname>max</refname>
<refpurpose>Find highest value</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>max</methodname>
<methodparam><type>array</type><parameter>values</parameter></methodparam>
</methodsynopsis>
<methodsynopsis>
<type>mixed</type><methodname>max</methodname>
<methodparam><type>mixed</type><parameter>value1</parameter></methodparam>
<methodparam><type>mixed</type><parameter>value2</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
If the first and only parameter is an array, <function>max</function>
returns the highest value in that array. If at least two parameters are
provided, <function>max</function> returns the biggest of these values.
</para>
<note>
<para>
PHP will evaluate a non-numeric <type>string</type> as
<literal>0</literal> if compared to <type>integer</type>, 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 return a numeric
<literal>0</literal> if given, else the alphabetical highest string
value will be returned.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>values</parameter></term>
<listitem>
<para>
An array containing the values.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value1</parameter></term>
<listitem>
<para>
Any <link linkend="language.operators.comparison">comparable</link>
value.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value2</parameter></term>
<listitem>
<para>
Any <link linkend="language.operators.comparison">comparable</link>
value.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>...</parameter></term>
<listitem>
<para>
Any <link linkend="language.operators.comparison">comparable</link>
value.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>max</function> returns the numerically highest of the
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;
<para>
<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
// 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 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
// 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>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>min</function></member>
<member><function>count</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|