1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-25 16:22:18 +01:00
Files
archived-doc-ru/reference/math/functions/max.xml
2024-06-30 22:45:53 +03:00

198 lines
7.6 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 9d044185431afc63026546899216053820ac5d64 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.max" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>max</refname>
<refpurpose>Возвращает наибольшее значение</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>max</methodname>
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
<methodparam rep="repeat"><type>mixed</type><parameter>values</parameter></methodparam>
</methodsynopsis>
<simpara>Альтернативная сигнатура (не поддерживается с именованными аргументами):</simpara>
<methodsynopsis>
<type>mixed</type><methodname>max</methodname>
<methodparam><type>array</type><parameter>value_array</parameter></methodparam>
</methodsynopsis>
<para>
Функция <function>max</function> вернёт наибольшее значение массива,
если первый и единственный параметр — массив. Функция <function>max</function> вернёт наибольший параметр,
если передали хотя бы два параметра.
</para>
<note>
<para>
Функция будет сравнивать значения отличающихся типов <link
linkend="language.operators.comparison">по стандартным правилами сравнения</link>.
Наример, нечисловую строку (<type>string</type>) функция будет сравнивать с целым числом
(<type>int</type>) так, как если бы значение строки равнялось <literal>0</literal>,
но нечисловые строки (<type>string</type>) между собой будут сравниваться в алфавитно-цифровом
порядке. Значение, которое вернёт функция, сохранит исходный тип без преобразования.
</para>
</note>
<caution>
<simpara>
Соблюдают осторожность при передаче аргументов отличающихся типов,
поскольку результат функции <function>max</function> будет непредсказуем.
</simpara>
</caution>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Любое <link linkend="language.operators.comparison">сравнимое</link>
значение.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>values</parameter></term>
<listitem>
<para>
Любые <link linkend="language.operators.comparison">сравнимые</link>
значения.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value_array</parameter></term>
<listitem>
<para>
Массив значений.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция <function>max</function> вернёт значение параметра,
который посчитает «наибольшим» по стандартным правилам сравнения.
Функция вернёт первое значение, если разнотипные значения оцениваются как равные (например,
<literal>0</literal> и <literal>«abc»</literal>).
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Функция <function>max</function> выбрасывает исключение <classname>ValueError</classname>,
если передали пустой массив.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
Функция <function>max</function> теперь выбрасывает исключение <classname>ValueError</classname>,
если возникла ошибка;
раньше возвращалось значение &false; и выдавалась ошибка уровня <constant>E_WARNING</constant>.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Поскольку <link linkend="migration80.incompatible.core.string-number-comparision">
сравнения строк с числами</link> изменились,
функция <function>max</function> больше не возвращает
другое значение в зависимости от порядка аргументов для таких случаев.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования функции <function>max</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo max(1, 3, 5, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
// Здесь сравниваются 0 > -1, так что «hello» больше
echo max('hello', -1); // hello
// При сравнении массивов, разной длины — функция max вернёт более длинный
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)
// При сравнении массивов одинаковой длины — функция max будет сравнивать их поэлементно
// слева направо, в этом примере 2 == 2, но 4 < 5
$val = max(array(2, 4, 8), array(2, 5, 1)); // array(2, 5, 1)
// Если передан массив и не массив, будет возвращён массив
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)
// Если один из аргументов NULL или логическое значение, то сравнение с другими
// значениями будет происходить по правилу FALSE < TRUE, вне зависимости от того
// какого типа параметры переданы.
// В примере ниже, -10 трактуется как TRUE
$val = max(-10, FALSE); // -10
// 0 трактуется как FALSE, значит, он «меньше» TRUE
$val = max(0, TRUE); // TRUE
?>
]]>
</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
-->