1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 07:42:22 +01:00
Files
archived-doc-ru/language/operators/arithmetic.xml
2025-04-15 20:32:50 +03:00

140 lines
5.0 KiB
XML
Raw Permalink 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: 16934048f79c6e117cd16a23c09c1b2ea502e284 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<sect1 xml:id="language.operators.arithmetic">
<title>Арифметические операторы</title>
<titleabbrev>Арифметика</titleabbrev>
<simpara>
Помните школьные основы арифметики? Описанные ниже операторы работают так же.
</simpara>
<table>
<title>Арифметические операции</title>
<tgroup cols="3">
<thead>
<row>
<entry>Пример</entry>
<entry>Название</entry>
<entry>Результат</entry>
</row>
</thead>
<tbody>
<row>
<entry><code>+$a</code></entry>
<entry>Идентичность</entry>
<entry>
Конвертация значения переменной <varname>$a</varname> в целое число (<type>int</type>)
или число с плавающей точкой (<type>float</type>), если нужно.
</entry>
</row>
<row>
<entry><code>-$a</code></entry>
<entry>Отрицание</entry>
<entry>Смена знака <varname>$a</varname>.</entry>
</row>
<row>
<entry><code>$a + $b</code></entry>
<entry>Сложение</entry>
<entry>Сумма <varname>$a</varname> и <varname>$b</varname>.</entry>
</row>
<row>
<entry><code>$a - $b</code></entry>
<entry>Вычитание</entry>
<entry>Разность <varname>$a</varname> и <varname>$b</varname>.</entry>
</row>
<row>
<entry><code>$a * $b</code></entry>
<entry>Умножение</entry>
<entry>Произведение <varname>$a</varname> и <varname>$b</varname>.</entry>
</row>
<row>
<entry><code>$a / $b</code></entry>
<entry>Деление</entry>
<entry>Частное от деления <varname>$a</varname> на <varname>$b</varname>.</entry>
</row>
<row>
<entry><code>$a % $b</code></entry>
<entry>Деление по модулю</entry>
<entry>Целочисленный остаток от деления <varname>$a</varname> на <varname>$b</varname>.</entry>
</row>
<row>
<entry><code>$a ** $b</code></entry>
<entry>Возведение в степень</entry>
<entry>
Возведение значения переменной <varname>$a</varname> в степень,
указанную в переменной <varname>$b</varname>.
</entry>
</row>
</tbody>
</tgroup>
</table>
<simpara>
Оператор деления <literal>/</literal> возвращает значение с типом <type>float</type>,
если только оба операнда не значения с типом <type>int</type>
или <link linkend="language.types.numeric-strings">числовые строки</link>, которые приводятся
к типу <type>int</type>, и числитель не кратен знаменателю, при которых возвращается целочисленное значение.
Для целочисленного деления вызывают функцию <function>intdiv</function>.
</simpara>
<simpara>
При делении по модулю операнды преобразовываются в целые числа (<type>int</type>) (путём удаления дробной части)
до начала операции. Для деления по модулю чисел с плавающей точкой вызывают
функцию <function>fmod</function>.
</simpara>
<para>
Результат операции остатка от деления <literal>%</literal> получит тот же знак,
что и делимое — то есть, результат выражения <code>$a % $b</code>
получит тот же знак, что и значение переменной <varname>$a</varname>. Например:
<example>
<title>Оператор деления с остатком (Modulo)</title>
<programlisting role="php">
<![CDATA[
<?php
var_dump(5 % 3);
var_dump(5 % -3);
var_dump(-5 % 3);
var_dump(-5 % -3);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
int(2)
int(2)
int(-2)
int(-2)
]]>
</screen>
</example>
</para>
<sect2 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="ref.math">Математические функции</link></member>
</simplelist>
</para>
</sect2>
</sect1>
<!-- 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
-->