svn: /phpdoc/ru/trunk/ language/oop5/basic.xml language/types/float.xml language/types/integer.xml language/types/string.xml language/types/type-juggling.xml language/types.xml reference/math/functions/round.xml reference/opcache/ini.xml reference/var/functions/is-numeric.xml
[email protected] (Sergey Panteleev) Sat, 28 Nov 2020 08:07:24 +0000
| Newsgroups | php.doc.ru |
|---|---|
| Message-ID | <[email protected]> |
sergey Sat, 28 Nov 2020 08:07:24 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=351720
Log:
docs(ru): Updated to English revision
Changed paths:
U phpdoc/ru/trunk/language/oop5/basic.xml
U phpdoc/ru/trunk/language/types/float.xml
U phpdoc/ru/trunk/language/types/integer.xml
U phpdoc/ru/trunk/language/types/string.xml
U phpdoc/ru/trunk/language/types/type-juggling.xml
U phpdoc/ru/trunk/language/types.xml
U phpdoc/ru/trunk/reference/math/functions/round.xml
U phpdoc/ru/trunk/reference/opcache/ini.xml
U phpdoc/ru/trunk/reference/var/functions/is-numeric.xml
svn-diffs-351720.txt
(text/x-diff, 19.1 KB)
Modified: phpdoc/ru/trunk/language/oop5/basic.xml
===================================================================
--- phpdoc/ru/trunk/language/oop5/basic.xml 2020-11-28 05:32:00 UTC (rev 351719)
+++ phpdoc/ru/trunk/language/oop5/basic.xml 2020-11-28 08:07:24 UTC (rev 351720)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 350429 Maintainer: sergey Status: ready -->
+<!-- EN-Revision: 351711 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<sect1 xml:id="language.oop5.basic" xmlns="http://docbook.org/ns/docbook">
@@ -405,7 +405,7 @@
<title>::class</title>
<para>
- Начиная с PHP 5.5 можно использовать ключевое слово <literal>class</literal>
+ Ключевое слово <literal>class</literal> используется
для разрешения имени класса. С помощью конструкции <literal>ClassName::class</literal>
можно получить строку с абсолютным именем класса <literal>ClassName</literal>.
Обычно это довольно полезно при работе с классами, использующими
@@ -440,7 +440,49 @@
автозагрузки класса не происходит. Как следствие, имена классов раскрываются, даже
если класс не существует. Ошибка в этом случае не выдается.
</para>
+ <example xml:id="language.oop5.basic.class.class.fail">
+ <title>Отсутствует разрешение имени класса</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+print Some\Class\DoesNot\Exist::class;
+?>
+]]>
+ </programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+Some\Class\Does\Not\Exist
+]]>
+ </screen>
+ </example>
</note>
+ <para>
+ Начиная с PHP 8.0.0, константа <literal>::class</literal> также может использоваться
+ для объектов. Это разрешение происходит во время выполнения, а не во время компиляции.
+ Тоже самое, что и при вызове <function>get_class</function> для объекта.
+ </para>
+ <example xml:id="language.oop5.basic.class.class.object">
+ <title>Разрешение имени объекта</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+namespace NS {
+ class ClassName {
+ }
+}
+$c = new ClassName();
+print $c::class;
+?>
+]]>
+ </programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+NS\ClassName
+]]>
+ </screen>
+ </example>
</sect2>
</sect1>
Modified: phpdoc/ru/trunk/language/types/float.xml
===================================================================
--- phpdoc/ru/trunk/language/types/float.xml 2020-11-28 05:32:00 UTC (rev 351719)
+++ phpdoc/ru/trunk/language/types/float.xml 2020-11-28 08:07:24 UTC (rev 351720)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 351133 Maintainer: shein Status: ready -->
+<!-- EN-Revision: 351700 Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<sect1 xml:id="language.types.float" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -87,21 +87,35 @@
<sect2 xml:id="language.types.float.casting">
<title>Преобразование в число с плавающей запятой</title>
- <para>
- Информацию о преобразовании строк в числа с плавающей запятой смотрите в разделе
- <link linkend="language.types.string.conversion">Преобразование строк в числа</link>.
- Для значений других типов преобразование будет сначала осуществлено в
- тип <type>int</type>, а затем в число с плавающей запятой.
- Дополнительную информацию смотрите в разделе
- <link linkend="language.types.integer.casting">Преобразование к целому</link>.
- </para>
-
- <note>
+ <sect3 xml:id="language.types.float.casting.from-string">
+ <title>Из строк</title>
+
+ <simpara>
+ Если строка
+ <link linkend="language.types.numeric-strings">содержащая число</link>
+ или ведущая числовая, тогда она будет преобразована в соответствующее целочисленное значение,
+ в противном случае она преобразуется в ноль
+ (<literal>0</literal>).
+ </simpara>
+ </sect3>
+
+ <sect3 xml:id="language.types.float.casting.from-other">
+ <title>Из других типов</title>
+
<para>
- Выдается замечание об ошибке, если объект (<type>object</type>) конвертируется в число с плавающей запятой (<type>float</type>).
+ Для значений других типов преобразование выполняется путем преобразования значения сначала в целое число (<type>int</type>), а затем в число с плавающей запятой (<type> float </type>).
+ Смотрите <link linkend="language.types.integer.casting">Преобразование в целое число</link> для получения
+ дополнительной информации.
</para>
- </note>
-
+
+ <note>
+ <para>
+ Поскольку определенные типы имеют неопределенное поведение при преобразовании в
+ целое число (<type>int</type>), то же самое происходит и при преобразовании в
+ число с плавающей запятой (<type>float</type>).
+ </para>
+ </note>
+ </sect3>
</sect2>
<sect2 xml:id="language.types.float.comparison">
Modified: phpdoc/ru/trunk/language/types/integer.xml
===================================================================
--- phpdoc/ru/trunk/language/types/integer.xml 2020-11-28 05:32:00 UTC (rev 351719)
+++ phpdoc/ru/trunk/language/types/integer.xml 2020-11-28 08:07:24 UTC (rev 351720)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 351133 Maintainer: shein Status: ready -->
+<!-- EN-Revision: 351700 Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<sect1 xml:id="language.types.integer">
@@ -253,7 +253,10 @@
<title>Из строк</title>
<simpara>
- Смотрите <link linkend="language.types.string.conversion">Преобразование строк в числа</link>
+ Если строка <link linkend="language.types.numeric-strings">содержит числа</link>
+ или ведущая числовая, тогда она будет преобразована в соответствующее целочисленное значение,
+ в противном случае она преобразуется в ноль
+ (<literal>0</literal>).
</simpara>
</sect3>
Modified: phpdoc/ru/trunk/language/types/string.xml
===================================================================
--- phpdoc/ru/trunk/language/types/string.xml 2020-11-28 05:32:00 UTC (rev 351719)
+++ phpdoc/ru/trunk/language/types/string.xml 2020-11-28 08:07:24 UTC (rev 351720)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 351133 Maintainer: rjhdby Status: ready -->
+<!-- EN-Revision: 351700 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<sect1 xml:id="language.types.string">
@@ -993,8 +993,9 @@
<note>
<para>
- Символ десятичной точки определяется из настроек локали текущего скрипта
- (категория LC_NUMERIC). Смотрите также <function>setlocale</function>.
+ Начиная с PHP 8.0.0, символоом десятичной точки всегда является
+ <literal>.</literal>. До PHP 8.0.0 символ десятичной точки определялся в локали скрипта
+ (категория LC_NUMERIC). Смотрите функцию <function>setlocale</function>
</para>
</note>
@@ -1043,78 +1044,6 @@
</sect2>
- <sect2 xml:id="language.types.string.conversion">
- <title>Преобразование строк в числа</title>
-
- <simpara>
- Если строка распознается как числовое значение, результирующее значение
- и тип определяется так, как показано далее.
- </simpara>
-
- <simpara>
- Если строка не содержит какой-либо из символов '.', 'e', или 'E', и
- значение числа помещается в пределы целых чисел (определенных
- <constant>PHP_INT_MAX</constant>), строка будет распознана как целое число (<type>int</type>).
- Во всех остальных случаях она считается числом с плавающей точкой (<type>float</type>).
- </simpara>
-
- <para>
- Значение определяется по начальной части строки. Если строка
- начинается с верного числового значения, будет использовано это
- значение. Иначе значением будет 0 (ноль). Верное числовое значение
- - это одна или более цифр (могущих содержать десятичную точку),
- по желанию предваренных знаком с последующим необязательным
- показателем степени. Показатель степени - это 'e' или 'E' с
- последующими одной или более цифрами.
- </para>
-
- <informalexample>
- <programlisting role="php">
-<![CDATA[
-<?php
-$foo = 1 + "10.5"; // $foo это float (11.5)
-$foo = 1 + "-1.3e3"; // $foo это float (-1299)
-$foo = 1 + "bob-1.3e3"; // $foo это integer (1)
-$foo = 1 + "bob3"; // $foo это integer (1)
-$foo = 1 + "10 Small Pigs"; // $foo это integer (11)
-$foo = 4 + "10.2 Little Piggies"; // $foo это float (14.2)
-$foo = "10.0 pigs " + 1; // $foo это float (11)
-$foo = "10.0 pigs " + 1.0; // $foo это float (11)
-?>
-]]>
- </programlisting>
- </informalexample>
-
- <simpara>
- Более подробную информацию об этом преобразовании смотрите в разделе
- о strtod(3) документации Unix.
- </simpara>
-
- <para>
- Если вы хотите протестировать любой из примеров этого раздела,
- скопируйте и вставьте его и следующую строку, чтобы
- увидеть, что происходит:
- </para>
-
- <informalexample>
- <programlisting role="php">
-<![CDATA[
-<?php
-echo "\$foo==$foo; тип: " . gettype ($foo) . "<br />\n";
-?>
-]]>
- </programlisting>
- </informalexample>
-
- <para>
- Не ожидайте получить код символа, преобразовав его в целое (как
- это делается, например, в C). Для преобразования символов в
- их ASCII-коды и обратно используйте функции <function>ord</function>
- и <function>chr</function>.
- </para>
-
- </sect2>
-
<sect2 xml:id="language.types.string.details">
<title>Подробности реализации строкового типа</title>
Modified: phpdoc/ru/trunk/language/types/type-juggling.xml
===================================================================
--- phpdoc/ru/trunk/language/types/type-juggling.xml 2020-11-28 05:32:00 UTC (rev 351719)
+++ phpdoc/ru/trunk/language/types/type-juggling.xml 2020-11-28 08:07:24 UTC (rev 351720)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 351133 Maintainer: shein Status: ready -->
+<!-- EN-Revision: 351700 Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<sect1 xml:id="language.types.type-juggling">
@@ -60,8 +60,9 @@
</informalexample>
<simpara>
- Если последние два примера вам непонятны, смотрите
- <link linkend="language.types.string.conversion">Преобразование строк в числа</link>.
+ Если последние два приведенных выше примера кажутся странными, посмотрите, как
+ <link linkend="language.types.numeric-strings">строки, содержащие числа</link>
+ преобразуются в целые числа.
</simpara>
<simpara>
Modified: phpdoc/ru/trunk/language/types.xml
===================================================================
--- phpdoc/ru/trunk/language/types.xml 2020-11-28 05:32:00 UTC (rev 351719)
+++ phpdoc/ru/trunk/language/types.xml 2020-11-28 08:07:24 UTC (rev 351720)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 351365 Maintainer: shein Status: ready -->
+<!-- EN-Revision: 351700 Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<chapter xml:id="language.types" xmlns="http://docbook.org/ns/docbook">
@@ -193,6 +193,7 @@
&language.types.integer;
&language.types.float;
&language.types.string;
+ &language.types.numeric-strings;
&language.types.array;
&language.types.iterable;
&language.types.object;
Modified: phpdoc/ru/trunk/reference/math/functions/round.xml
===================================================================
--- phpdoc/ru/trunk/reference/math/functions/round.xml 2020-11-28 05:32:00 UTC (rev 351719)
+++ phpdoc/ru/trunk/reference/math/functions/round.xml 2020-11-28 08:07:24 UTC (rev 351720)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 350654 Maintainer: shein Status: ready -->
+<!-- EN-Revision: 351700 Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xml:id="function.round" xmlns="http://docbook.org/ns/docbook">
@@ -36,14 +36,6 @@
</caution>
</para>
-->
- <para>
- <note>
- <simpara>
- PHP по умолчанию не может правильно обрабатывать строки типа <literal>"12,300.2"</literal>.
- Более подробно читайте в разделе <link linkend="language.types.string.conversion">Преобразование строк в числа</link>.
- </simpara>
- </note>
- </para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
Modified: phpdoc/ru/trunk/reference/opcache/ini.xml
===================================================================
--- phpdoc/ru/trunk/reference/opcache/ini.xml 2020-11-28 05:32:00 UTC (rev 351719)
+++ phpdoc/ru/trunk/reference/opcache/ini.xml 2020-11-28 08:07:24 UTC (rev 351720)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 351415 Maintainer: rjhdby Status: ready -->
+<!-- EN-Revision: 351699 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: yes Maintainer: lex -->
<sect1 xml:id="opcache.configuration" xmlns="http://docbook.org/ns/docbook">
@@ -1159,7 +1159,7 @@
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-max-loop-unrolls">
<term>
- <parameter>opcache.jit_max_loops_unroll</parameter>
+ <parameter>opcache.jit_max_loop_unrolls</parameter>
<type>int</type>
</term>
<listitem>
Modified: phpdoc/ru/trunk/reference/var/functions/is-numeric.xml
===================================================================
--- phpdoc/ru/trunk/reference/var/functions/is-numeric.xml 2020-11-28 05:32:00 UTC (rev 351719)
+++ phpdoc/ru/trunk/reference/var/functions/is-numeric.xml 2020-11-28 08:07:24 UTC (rev 351720)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 349477 Maintainer: Rjhdby Status: ready -->
+<!-- EN-Revision: 351700 Maintainer: Rjhdby Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xml:id="function.is-numeric" xmlns="http://docbook.org/ns/docbook">
@@ -17,12 +17,8 @@
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
- Проверяет, является ли данная переменная числом. Строки, содержащие
- числа, состоят из необязательного пробела, необязательного знака, любого количества цифр,
- необязательной десятичной части и необязательной экспоненциальной части.
- Так, <literal>+0123.45e6</literal> является верным числовым
- значением. Шестнадцатеричные (<literal>0xf4c3b00c</literal>) и
- двоичные (<literal>0b10100111001</literal>) нотации не допускаются.
+ Определяет, является ли данная переменная числом или
+ <link linkend="language.types.numeric-strings">строкой, содержащей число</link>.
</para>
</refsect1>
@@ -45,8 +41,8 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
- Возвращает &true;, если <parameter>var</parameter> является числом или строкой,
- содержащей число или &false; в противном случае.
+ Возвращает &true;, если <parameter>var</parameter> является числом или
+ <link linkend="language.types.numeric-strings">строкой, содержащей число</link> или &false; в противном случае.
</para>
</refsect1>
@@ -109,35 +105,11 @@
</para>
</refsect1>
- <refsect1 role="changelog"><!-- {{{ -->
- &reftitle.changelog;
- <para>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>&Version;</entry>
- <entry>&Description;</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>7.0.0</entry>
- <entry>
- Строки, содержащие шестнадцатеричную (<literal>0xf4c3b00c</literal>) запись, больше
- не считаются числовыми строками, то есть <function>is_numeric</function> вернет &false;.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </para>
- </refsect1><!-- }}} -->
-
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
+ <member><link linkend="language.types.numeric-strings">Строки, содержащие числа</link></member>
<member><function>ctype_digit</function></member>
<member><function>is_bool</function></member>
<member><function>is_null</function></member>