Files
php-doc-ru/reference/array/functions/array.xml
2024-11-04 14:47:23 +03:00

205 lines
7.0 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: 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
-->