Files
php-doc-ru/reference/array/functions/array.xml
Mikhail Alferov b0fa22aecd Обновление перевода (#744)
Co-authored-by: Sergey Panteleev <sergey@php.net>
2024-01-17 00:15:54 +03:00

201 lines
6.7 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: c6534cb59e785d4fc77f123602132da74b07ac2a 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>».
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>values</parameter></term>
<listitem>
<para>
Синтаксис — разделённые запятыми «индекс =&gt; значения», определяет
индексы и значения. Индекс разрешено указывать строкой или целым числом.
Если индекс не указан, будет автоматически сгенерирован целочисленный
индекс начиная с 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
-->