1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-27 01:08:05 +02:00
Files
archived-doc-ru/reference/array/functions/array.xml
T
2024-11-04 14:47:23 +03:00

205 lines
7.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e784ba3c905ef723c16eb9f90e181708a696523e 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>
Параметр принимает пары, которые определяют индекс и значения,
которые записали синтаксисом «индекс =&gt; значения»
и разделили запятыми. Индекс разрешается указывать строкой или целым числом.
PHP автоматически сгенерирует целочисленный
индекс начиная с 0, если индекс не указали. Если индекс — целое число, следующим
сгенерированным индексом станет наибольший целочисленный индекс + 1.
Обратите внимание, если определить два
одинаковых индекса, следующий перезапишет предыдущий.
</para>
<para>
Запятая после определения последнего элемента массива хотя и необычна, но не нарушает синтаксиса.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Конструкция возвращает массив параметров. Индекс параметрам
присваивают оператором <literal>=&gt;</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 => "второй", "третий")
);
?>
]]>
</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
-->