com doc/ru: Обновлен ие до англи йской верси и: language/types/array.xml
| From: | Sergey Panteleev | Date: | Wed, 24 Feb 2021 10:09:31 +0000 |
| Subject: | com doc/ru: Обновлен ие до англи йской верси и: language/types/array.xml | ||
| Groups: | php.doc.ru | ||
| Request: | Send a blank email to doc-ru+get-8814@lists.php.net to get a copy of this message | ||
Commit: f9cc32cb12c75c73b45830dd6c1eac48a5922a74
Author: Alex Erohin <alexandererohin@yandex.ru> Wed, 24 Feb 2021 11:01:48 +0300
Committer: Sergey Panteleev <sergey@php.net> Wed, 24 Feb 2021 13:09:31 +0300
Parents: 931ce865856e85742b379d87eaed3c68b12765e0
Branches: master
Link: http://git.php.net/?p=doc/ru.git;a=commitdiff;h=f9cc32cb12c75c73b45830dd6c1eac48a5922a74
Log:
Обновление до английской версии
Closes GH-23
Closes GH-24
Обновление до английской версии
Closes GH-23
Changed paths:
M language/types/array..xml
Diff:
diff --git a/language/types/array.xml b/language/types/array.xml
index 4222874fd..5b5ec4e6a 100644
--- a/language/types/array..xml
+++ b/language/types/array.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 6de2e5772f11997fb9a8c0fa2406fbb2c73b3579 Maintainer: shein Status: ready
-->
+<!-- EN-Revision: 529359031bc69c5f635a459ae3891df4b8dc8df9 Maintainer: shein Status: ready
-->
<!-- Reviewed: no -->
<!-- $Revision$ -->
<sect1 xml:id="language..types.array">
@@ -273,6 +273,52 @@ array(4) {
типа перед этим было <literal>6</literal>.
</para>
</example>
+
+ <example>
+ <title>Расширенный пример преобразования типов и
перезаписи элементов</title>
+ <programlisting role="php">
+ <![CDATA[
+<?php
+$array = array(
+ 1 => "a",
+ "1" => "b", // значение "b" перезапишет
значение "a"
+ 1.5 => "c", // значение "c" перезапишет
значение "b"
+ -1 => 'd',
+ "01" => "e",
+ true => "f", // значение "f" перезапишет
значение "c"
+ false => 'g',
+ '' => 'h',
+ null => 'i', // значение "i" перезапишет
значение "h"
+ 'j', // значению "j" назначен ключ 2, так как
максимальное целочисленное значение предшествующего
ключа равно 1
+ 2 => 'k', // значение "k" перезапишет
значение "j"
+);
+var_dump($array);
+?>
+]]>
+ </programlisting>
+ &example.outputs;
+ <screen>
+ <![CDATA[
+array(6) {
+ [1]=>
+ string(1) "f"
+ [-1]=>
+ string(1) "d"
+ ["01"]=>
+ string(1) "e"
+ [0]=>
+ string(1) "g"
+ [""]=>
+ string(1) "i"
+ [2]=>
+ string(1) "k"
+}
+]]>
+ </screen>
+ <para>
+ Этот пример включает все вариации преобразования
ключей и перезаписи элементов
+ </para>
+ </example>
</sect3>
<sect3 xml:id="language.types.array.syntax.accessing">
@@ -796,27 +842,70 @@ $error_descriptions[8] = "Это лишь неофициальное
замеч
к закрытым полям класса (private) спереди будет дописано
имя класса;
к защищённым полям класса (protected) спереди будет
добавлен символ '*'.
Эти добавленные значения с обоих сторон также имеют
нулевые байты.
- Это может вызвать несколько неожиданное поведение:
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
+class A {
+ private $B;
+ protected $C;
+ public $D;
+ function __construct()
+ {
+ $this->{1} = null;
+ }
+}
+var_export((array) new A());
+?>
+]]>
+ </programlisting>
+ &example.outputs;
+ <screen>
+ <![CDATA[
+array (
+ '' . "\0" . 'A' . "\0" . 'B' => NULL,
+ '' . "\0" . '*' . "\0" . 'C' => NULL,
+ 'D' => NULL,
+ 1 => NULL,
+)
+]]>
+ </screen>
+ </informalexample>
+
+ <para>
+ Это может вызвать несколько неожиданное поведение:
+ </para>
+ <informalexample>
+ <programlisting role="php">
+ <![CDATA[
+<?php
class A {
private $A; // Это станет '\0A\0A'
}
-
class B extends A {
private $A; // Это станет '\0B\0A'
public $AA; // Это станет 'AA'
}
-
var_dump((array) new B());
?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+ <![CDATA[
+array(3) {
+ ["BA"]=>
+ NULL
+ ["AA"]=>
+ NULL
+ ["AA"]=>
+ NULL
+}
+]]>
+ </screen>
</informalexample>
<para>