1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-26 00:38:06 +02:00
Files
archived-doc-ru/reference/var/functions/intval.xml
T
Mikhail Alferov a12af15aba Обновление до английской версии
Co-authored-by: Sergey Panteleev <sergey@php.net>
2023-12-01 09:42:55 +03:00

206 lines
7.8 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: 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
-->