1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 00:32:15 +01:00
Files
archived-doc-ru/reference/math/functions/min.xml
Mikhail Alferov aa1fe9455c Обновление перевода (#776)
Co-authored-by: Sergey Panteleev <sergey@php.net>
2024-01-20 13:23:37 +03:00

198 lines
7.5 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: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.min" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>min</refname>
<refpurpose>Находит наименьшее значение</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>min</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>min</methodname>
<methodparam><type>array</type><parameter>value_array</parameter></methodparam>
</methodsynopsis>
<para>
Если первый и единственный параметр — массив, то функция <function>min</function> возвратит
наименьшее значение из этого массива. Если переданы хотя бы два параметра,
функция <function>min</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>min</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>min</function> вернёт значение параметра,
признанного «наименьшим» по стандартным правилам сравнения.
Если разнотипные значения оцениваются как равные (например <literal>0</literal>
и <literal>«abc»</literal>), функция вернёт первое.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Если передан пустой массив, функция <function>min</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>min</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>min</function> больше не возвращает
другое значение в зависимости от порядка аргументов для таких случаев.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования функции <function>min</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo min(2, 3, 1, 6, 7); // 1
echo min(array(2, 4, 5)); // 2
// Здесь сравниваются -1 < 0, так что -1 меньше
echo min('hello', -1); // -1
// При сравнении массивов, разной длины — функция min вернёт самый короткий
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(2, 2, 2)
// При передаче нескольких массивов, они сравниваются полностью
// в примере: 2 == 2, но 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)
// При передаче массива и не массива,
// первый не возвращается, т. к. считается самым большим
$val = min('string', array(2, 5, 7), 42); // string
// Если один из аргументов равен NULL или логическому значению, то сравнение с другими
// значениями будет происходить по правилу FALSE < TRUE и NULL == FALSE,
// независимо от того, какого типа параметры переданы.
// В примере ниже, -10 трактуется как TRUE
$val = min(-10, FALSE, 10); // FALSE
$val = min(-10, NULL, 10); // NULL
// Значение 0 трактуется как FALSE, значит оно «меньше» TRUE
$val = min(0, TRUE); // 0
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>max</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
-->