-
Notifications
You must be signed in to change notification settings - Fork 76
/
Copy pathintval.xml
205 lines (198 loc) · 7.78 KB
/
intval.xml
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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 18c4f78a828232c909056490ccf0a858d002e6ef Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.intval" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>intval</refname>
<refpurpose>Возвращает целочисленное значение переменной</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>intval</methodname>
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>base</parameter><initializer>10</initializer></methodparam>
</methodsynopsis>
<para>
Возвращает целочисленное значение (<type>int</type>) переменной <parameter>value</parameter>,
рассматривая ее как значение в системе счисления с основанием, которое определено в параметре <parameter>base</parameter>
(по умолчанию основание равно 10). Функцию <function>intval</function>
нельзя использовать с объектами, попытка это сделать
вызовет ошибку уровня <constant>E_WARNING</constant> и вернёт значение 1.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Скалярное значение для конвертации в целое
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>base</parameter></term>
<listitem>
<para>
Основание системы счисления для преобразования
</para>
<note>
<para>
Если значение параметра <parameter>base</parameter> равно 0, основание системы счисления
будет определено форматом параметра <parameter>value</parameter>:
<itemizedlist>
<listitem>
<simpara>
если строка включает префикс "0x" (или "0X"), будет взято
основание 16 (шестнадцатеричное);
</simpara>
</listitem>
<listitem>
<simpara>
иначе, если строка начинается с "0b" (или "0B"), будет взято
основание 2 (двоичное);
</simpara>
</listitem>
<listitem>
<simpara>
иначе, если строка начинается с "0", будет взято основание 8 (восьмеричное);
</simpara>
</listitem>
<listitem>
<simpara>
иначе основание будет равно 10 (десятичая).
</simpara>
</listitem>
</itemizedlist>
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает целочисленное значение переменной <parameter>value</parameter> в случае успешного выполнения, или 0
в случае возникновения ошибки. Для пустых массивов возвращается 0, для непустых возвращается 1.
</para>
<para>
Максимальное значение зависит от операционной системы. В 32-битных системах
максимальное знаковое целое лежит в диапазоне от -2 147 483 648 до 2 147 483 647. Так, например,
в такой системе, <literal>intval('1000000000000')</literal> вернёт
2 147 483 647. Максимальное знаковое целое значение для 64-битных систем — 9 223 372 036 854 775 807.
</para>
<para>
Для строк функция, скорее всего, вернёт 0, хотя это зависит
от первого символа в строке. Будут применены общие правила
<link linkend="language.types.integer.casting">преобразования в целые</link>.
</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>
Уровень ошибки при преобразовании из объекта был изменён
с <constant>E_NOTICE</constant> на <constant>E_WARNING</constant>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Примеры использования <function>intval</function></title>
<para>
Следующие примеры приведены для 64-битной системы.
</para>
<programlisting role="php">
<![CDATA[
<?php
echo intval(42); // 42
echo intval(4.2); // 4
echo intval('42'); // 42
echo intval('+42'); // 42
echo intval('-42'); // -42
echo intval(042); // 34
echo intval('042'); // 42
echo intval(1e10); // 10000000000
echo intval('1e10'); // 10000000000
echo intval(0x1A); // 26
echo intval('0x1A'); // 0
echo intval('0x1A', 0); // 26
echo intval(42000000); // 42000000
echo intval(420000000000000000000); // -4275113695319687168
echo intval('420000000000000000000'); // 9223372036854775807
echo intval(42, 8); // 42
echo intval('42', 8); // 34
echo intval(array()); // 0
echo intval(array('foo', 'bar')); // 1
echo intval(false); // 0
echo intval(true); // 1
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Параметр <parameter>base</parameter> будет учтён только
тогда, когда значение параметр <parameter>value</parameter> окажется строкой.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>boolval</function></member>
<member><function>floatval</function></member>
<member><function>strval</function></member>
<member><function>settype</function></member>
<member><function>is_numeric</function></member>
<member><link linkend="language.types.type-juggling">Манипуляции с типами</link></member>
<member><link linkend="ref.bc">Математические функции произвольной точности BCMath</link></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
-->