-
Notifications
You must be signed in to change notification settings - Fork 79
Expand file tree
/
Copy patharray.xml
More file actions
205 lines (197 loc) · 6.97 KB
/
Copy patharray.xml
File metadata and controls
205 lines (197 loc) · 6.97 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
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: 2e60c5134e7a847c99f81eb3f7ecee1f5efeeace Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.array" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array</refname>
<refpurpose>Создаёт массив</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array</methodname>
<methodparam rep="repeat"><type>mixed</type><parameter>values</parameter></methodparam>
</methodsynopsis>
<para>
Конструкция создаёт массив. Подробнее о массивах рассказывает раздел
«<link linkend="language.types.array">Массивы</link>», включая сведения
об альтернативном синтаксисе с квадратными скобками — <literal>[]</literal>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>values</parameter></term>
<listitem>
<para>
Параметр принимает пары, которые определяют индекс и значения,
которые записали синтаксисом «индекс => значения»
и разделили запятыми. Индекс разрешается указывать строкой или целым числом.
PHP автоматически сгенерирует целочисленный
индекс начиная с 0, если индекс не указали. Если индекс — целое число, следующим
сгенерированным индексом станет наибольший целочисленный индекс + 1.
Обратите внимание, если определить два
одинаковых индекса, следующий перезапишет предыдущий.
</para>
<para>
Запятая после определения последнего элемента массива хотя и необычна, но не нарушает синтаксиса.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Конструкция возвращает массив параметров. Индекс параметрам
присваивают оператором <literal>=></literal>.
Подробнее о массивах рассказывает раздел
«<link linkend="language.types.array">Массивы</link>».
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
Следующие примеры показывают, как создавать двумерный массив,
как определять ключи ассоциативных массивов
и как пропустить и продолжить числовые индексы в обычных массивах,
если нумерация начинается с произвольного числа.
<example>
<title>Пример определения массива языковой конструкцией <function>array</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fruits = array (
"fruits" => array("a" => "апельсин", "b" => "банан", "c" => "яблоко"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("первый", 5 => "второй", "третий")
);
print_r($fruits);
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Пример автоматической индексация при вызове конструкции <function>array</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array = array(1, 1, 1, 1, 1, 8 => 1, 4 => 1, 19, 3 => 13);
print_r($array);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 13
[4] => 1
[8] => 1
[9] => 19
)
]]>
</screen>
</example>
</para>
<para>
Обратите внимание, что индекс «3» определён дважды, и содержит
последнее значение — 13. Индекс 4 определён после индекса 8,
а следующий сгенерированный индекс (значение 19) — 9, поскольку самым большим индексом был 8.
</para>
<para>
Этот пример создаёт массив, нумерация которого начинается с 1.
<example>
<title>Пример создания конструкцией <function>array</function> массива, нумерация которого начинается с 1</title>
<programlisting role="php">
<![CDATA[
<?php
$firstQuarter = array(1 => 'January', 'February', 'March');
print_r($firstQuarter);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[1] => January
[2] => February
[3] => March
)
]]>
</screen>
</example>
</para>
<para>
Как и в Perl, разработчику доступны значения массива внутри двойных кавычек.
Однако в PHP нужно заключить массив в фигурные скобки.
<example>
<title>Пример доступа к массиву внутри двойных кавычек</title>
<programlisting role="php">
<![CDATA[
<?php
$foo = array('bar' => 'baz');
echo "Hello {$foo['bar']}!"; // Hello baz!
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<para>
<note>
<para>
<function>array</function> — конструкция языка
для представления литеральных массивов,
а не функция.
</para>
</note>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_pad</function></member>
<member><function>list</function></member>
<member><function>count</function></member>
<member><function>range</function></member>
<member>&foreach;</member>
<member>Тип <link linkend="language.types.array">массив</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
-->