-
Notifications
You must be signed in to change notification settings - Fork 80
Expand file tree
/
Copy patharithmetic.xml
More file actions
139 lines (137 loc) · 4.99 KB
/
arithmetic.xml
File metadata and controls
139 lines (137 loc) · 4.99 KB
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
<?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
-->