mirror of
https://github.com/php/doc-ru.git
synced 2025-07-30 12:57:40 +00:00
Update compact.xml Infostyle
This commit is contained in:
@ -4,7 +4,7 @@
|
||||
<refentry xml:id="function.compact" xmlns="http://docbook.org/ns/docbook">
|
||||
<refnamediv>
|
||||
<refname>compact</refname>
|
||||
<refpurpose>Создаёт массив, содержащий названия переменных и их значения</refpurpose>
|
||||
<refpurpose>Создаёт массив с названиями и значениями переменных</refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
@ -14,18 +14,19 @@
|
||||
<methodparam rep="repeat"><type class="union"><type>array</type><type>string</type></type><parameter>var_names</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Создаёт массив, содержащий переменные и их значения.
|
||||
Функия создаёт массив, который содержит названия и значения переменных.
|
||||
</para>
|
||||
<para>
|
||||
Для каждого переданного аргумента функция <function>compact</function>
|
||||
ищет в текущей <link linkend="features.gc.refcounting-basics">таблице символов</link> переменную с таким же именем и добавляет
|
||||
её в выводимый массив так, что имя переменной становится ключом,
|
||||
а значение переменной становится значением этого ключа.
|
||||
Короче, она выполняет операцию, противоположную функции <function>extract</function>.
|
||||
Функция <function>compact</function> выполняет операцию, противоположную функции <function>extract</function>:
|
||||
рассматривает каждую строку в аргументах как название переменной,
|
||||
ищет в текущей <link linkend="features.gc.refcounting-basics">таблице символов</link> переменную
|
||||
с таким названием и добавляет переменную в выходной массив так, что название переменной становится ключом,
|
||||
а содержимое переменной — значением этого ключа.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
До PHP 7.3 строки, для которых не были найдены переменные, будут пропущены без генерации ошибки.
|
||||
До PHP 7.3 функция без предупреждения пропускала строку, если в текущей области видимости
|
||||
не установили переменную с таким названием.
|
||||
</para>
|
||||
</note>
|
||||
</refsect1>
|
||||
@ -39,9 +40,9 @@
|
||||
<listitem>
|
||||
<para>
|
||||
Функция <function>compact</function> принимает неограниченное количество аргументов.
|
||||
Любой из аргументов может быть либо строкой, содержащей название переменной,
|
||||
либо массивом названий переменных. Массив может содержать вложенные массивы
|
||||
названий переменных; функция <function>compact</function> обрабатывает их
|
||||
Каждый аргумент разрешается передавать как строку, которая содержит название переменной,
|
||||
или как массив названий переменных. Функция умеет обрабатывать массивы с вложенными массивами
|
||||
названий переменных; функция <function>compact</function> обрабатывает такие массивы
|
||||
рекурсивно.
|
||||
</para>
|
||||
</listitem>
|
||||
@ -52,7 +53,7 @@
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Возвращает массив с добавленными переменными.
|
||||
Функция возвращает массив с переменными.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
@ -60,7 +61,7 @@
|
||||
&reftitle.errors;
|
||||
<para>
|
||||
Функция <function>compact</function> выдаёт ошибку уровня <constant>E_WARNING</constant>,
|
||||
если полученная строка ссылается на неопределённую переменную.
|
||||
если строка ссылается на переменную, которую не установили.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
@ -78,14 +79,15 @@
|
||||
<row>
|
||||
<entry>8.0.0</entry>
|
||||
<entry>
|
||||
Если заданная строка ссылается на неопределённую переменную, теперь будет сгенерированна ошибка уровня <constant>E_WARNING</constant>.
|
||||
Функция теперь генерирует ошибку уровня <constant>E_WARNING</constant>,
|
||||
если строка ссылается на переменную, которую не установили.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>7.3.0</entry>
|
||||
<entry>
|
||||
Функция <function>compact</function> теперь выдаёт ошибку уровня <constant>E_NOTICE</constant>, если
|
||||
заданная строка связана с неопределённой переменной. Ранее такие строки пропускались без уведомления.
|
||||
Функция <function>compact</function> теперь выдаёт ошибку уровня <constant>E_NOTICE</constant>,
|
||||
если строка ссылается на переменную, которую не установили. Раньше такие строки функция без предупреждения пропускала.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
@ -97,7 +99,7 @@
|
||||
&reftitle.examples;
|
||||
<para>
|
||||
<example>
|
||||
<title>Пример использования <function>compact</function></title>
|
||||
<title>Пример добавления названий и значений переменных в массив функцией <function>compact</function></title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
@ -133,11 +135,10 @@ Array
|
||||
<note>
|
||||
<title>Замечания по работе функции compact</title>
|
||||
<para>
|
||||
Так как <link linkend="language.variables.variable">переменные
|
||||
переменных</link> не могут быть использованы с
|
||||
<link linkend="language.variables.superglobals">суперглобальными
|
||||
массивами</link> внутри функций, суперглобальные массивы не могут
|
||||
быть переданы в <function>compact</function>.
|
||||
Поскольку <link linkend="language.variables.variable">переменные переменных</link>
|
||||
нельзя использовать <link linkend="language.variables.superglobals">с суперглобальными массивами</link>
|
||||
внутри функций, суперглобальные массивы нельзя
|
||||
передавать в функцию <function>compact</function>.
|
||||
</para>
|
||||
</note>
|
||||
</refsect1>
|
||||
|
Reference in New Issue
Block a user