mirror of
https://github.com/php/doc-ru.git
synced 2025-07-30 12:57:40 +00:00
Updated translation.
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@307862 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
@ -1,157 +1,187 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: n/a Maintainer: sveta Status: ready -->
|
||||
<!-- EN-Revision: d6f393442baa05d31a005a940aacf5185d8cd563 Maintainer: shein Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<!-- $Revision$ -->
|
||||
<!-- splitted from ./en/functions/array.xml, last change in rev 1.14 -->
|
||||
<refentry xml:id="function.array-splice" xmlns="http://docbook.org/ns/docbook">
|
||||
<refnamediv>
|
||||
<refname>array_splice</refname>
|
||||
<refpurpose>
|
||||
Удалить последовательность элементов массива и заменить её другой последовательностью
|
||||
</refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1>
|
||||
<title>Оисание</title>
|
||||
<methodsynopsis>
|
||||
<type>array</type><methodname>array_splice</methodname>
|
||||
<methodparam><type>array</type><parameter>&input</parameter></methodparam>
|
||||
<methodparam><type>int</type><parameter>offset</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>array</type><parameter>
|
||||
replacement
|
||||
</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<function>array_splice</function> удаляет <parameter>length</parameter> элементов,
|
||||
расположенных на растоянии <parameter>offset</parameter> от начала
|
||||
массива <parameter>input</parameter>, и заменяет их элементами
|
||||
массива <parameter>replacement</parameter>, если он передан в качестве параметра.
|
||||
Возвращает массив выбранных элементов.
|
||||
</para>
|
||||
<para>
|
||||
Если параметр <parameter>offset</parameter> положителен, будут удалены элементы,
|
||||
находящиеся на расстоянии offset от начала <parameter>array</parameter>. Если
|
||||
<parameter>offset</parameter> отрицателен, будут удалены элементы,
|
||||
находящиеся на расстоянии offset от конца <parameter>array</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
Если параметр <parameter>length</parameter> опущен, будут удалены все элементы
|
||||
начиная с позиции <parameter>offset</parameter> и до конца массива.
|
||||
Если передан положительный параметр <parameter>length</parameter>,
|
||||
будет удалено length элементов.
|
||||
Если передан отрицательный параметр <parameter>length</parameter>,
|
||||
будут удалены элементы исходного массива, начиная с позиции <parameter>offset</parameter>
|
||||
и заканчивая позицией, отстоящей на <parameter>length</parameter> элементов от конца <parameter>array</parameter>.
|
||||
Совет: для того, чтобы удалить все элементы массива, начиная с позиции
|
||||
<parameter>offset</parameter> в то время как указан параметр
|
||||
<parameter>replacement</parameter>, используйте
|
||||
<literal>count($input)</literal> в качестве параметра
|
||||
<parameter>length</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
Если передан массив <parameter>replacement</parameter> в качестве аргумента, тогда
|
||||
удалённые элементы будут заменены элементами этого массива.
|
||||
Если параметры <parameter>offset</parameter> и
|
||||
<parameter>length</parameter> таковы, что из исходного массива не будет ничего удалено,
|
||||
тогда элементы массива <parameter>replacement</parameter>
|
||||
будут вставлены на позицию <parameter>offset</parameter>.
|
||||
Обратите внимание, что ключи массива <parameter>replacement</parameter> не сохраняются.
|
||||
Совет: если вам нужно вставить
|
||||
один элемент в массив, нет необходимости заключать его в вызов функции <literal>array()</literal>,
|
||||
если только этот элемент не является массивом.
|
||||
</para>
|
||||
<para>
|
||||
Последующие выражения произведут одинаковые
|
||||
изменения в массиве <varname>$input</varname>:
|
||||
<table>
|
||||
<title>Эквиваленты <function>array_splice</function></title>
|
||||
<tgroup cols="2">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>
|
||||
array_push($input, $x, $y)
|
||||
</entry>
|
||||
<entry>
|
||||
array_splice($input, count($input), 0, array($x, $y))
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
array_pop($input)
|
||||
</entry>
|
||||
<entry>
|
||||
array_splice($input, -1)
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
array_shift($input)
|
||||
</entry>
|
||||
<entry>
|
||||
array_splice($input, 0, 1)
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
array_unshift($input, $x, $y)
|
||||
</entry>
|
||||
<entry>
|
||||
array_splice($input, 0, 0, array($x, $y))
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
$input[$x] = $y // в случае, если key равен offset
|
||||
</entry>
|
||||
<entry>
|
||||
array_splice($input, $x, 1, $y)
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
<para>
|
||||
Возвращает массив, содержащий удалённые элементы.
|
||||
</para>
|
||||
<para>
|
||||
<example>
|
||||
<title>Примеры использования <function>array_splice</function></title>
|
||||
<programlisting role="php">
|
||||
<refentry xml:id="function.array-splice" xmlns="http://docbook.org/ns/docbook">
|
||||
<refnamediv>
|
||||
<refname>array_splice</refname>
|
||||
<refpurpose>Удаляет часть массива и заменяет её чем-нибудь ещё</refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<type>array</type><methodname>array_splice</methodname>
|
||||
<methodparam><type>array</type><parameter role="reference">input</parameter></methodparam>
|
||||
<methodparam><type>int</type><parameter>offset</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>int</type><parameter>length</parameter><initializer>0</initializer></methodparam>
|
||||
<methodparam choice="opt"><type>mixed</type><parameter>replacement</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Удаляет <parameter>length</parameter> элементов, расположенных
|
||||
на расстоянии <parameter>offset</parameter> из массива
|
||||
<parameter>input</parameter>, и заменяет их элементами
|
||||
массива <parameter>replacement</parameter>, если он передан в качестве параметра.
|
||||
</para>
|
||||
<para>
|
||||
Обратите внимание, что числовые ключи в массиве <parameter>input</parameter>
|
||||
не сохраняются.
|
||||
</para>
|
||||
<note>
|
||||
<simpara>
|
||||
Если параметр <parameter>replacement</parameter> не является массивом,
|
||||
он будет <link linkend="language.types.array.casting">преобразован</link>
|
||||
к нему (т.е. <code>(array) $parameter</code>). Это может привести
|
||||
к не ожиданным результатам при использовании объекта или &null;
|
||||
в качестве <parameter>replacement</parameter>.
|
||||
</simpara>
|
||||
</note>
|
||||
</refsect1>
|
||||
<refsect1 role="parameters">
|
||||
&reftitle.parameters;
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>input</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Входной массив.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>offset</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Если параметр <parameter>offset</parameter> положителен,
|
||||
будут удалены элементы, находящиеся на расстоянии offset
|
||||
от начала <parameter>input</parameter>. Если
|
||||
<parameter>offset</parameter> отрицателен, будут удалены
|
||||
элементы, находящиеся на расстоянии offset от конца
|
||||
<parameter>input</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>length</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Если параметр <parameter>length</parameter> опущен, будут удалены все элементы
|
||||
начиная с позиции <parameter>offset</parameter> и до конца массива.
|
||||
Если <parameter>length</parameter> указан и он положителен, то
|
||||
будет удалено именно столько элементов.
|
||||
Если же параметр <parameter>length</parameter> отрицателен, то
|
||||
конец удаляемой части элементов будет отстоять на это количество
|
||||
от конца массива.
|
||||
Совет: для того, чтобы удалить все элементы массива, начиная с позиции
|
||||
<parameter>offset</parameter> до конца массива, в то время как указан параметр
|
||||
<parameter>replacement</parameter>, используйте
|
||||
<literal>count($input)</literal> в качестве параметра
|
||||
<parameter>length</parameter>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>replacement</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Если передан массив <parameter>replacement</parameter> в качестве аргумента, тогда
|
||||
удалённые элементы будут заменены элементами этого массива.
|
||||
</para>
|
||||
<para>
|
||||
Если параметры <parameter>offset</parameter> и
|
||||
<parameter>length</parameter> таковы, что из исходного
|
||||
массива не будет ничего удалено,
|
||||
тогда элементы массива <parameter>replacement</parameter>
|
||||
будут вставлены на позицию <parameter>offset</parameter>.
|
||||
Обратите внимание, что ключи массива <parameter>replacement</parameter>
|
||||
не сохраняются.
|
||||
</para>
|
||||
<para>
|
||||
Совет: если <parameter>replacement</parameter> является просто
|
||||
одним элементом, нет необходимости заключать его в <literal>array()</literal>,
|
||||
если только этот элемент сам не является массивом, объектом или &null;.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Возвращает массив, содержащий удалённые элементы.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<para>
|
||||
<example>
|
||||
<title>Примеры использования <function>array_splice</function></title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
$input = array("red", "green", "blue", "yellow");
|
||||
array_splice($input, 2);
|
||||
// $input is now array("red", "green")
|
||||
// $input теперь array("red", "green")
|
||||
|
||||
$input = array("red", "green", "blue", "yellow");
|
||||
array_splice($input, 1, -1);
|
||||
// $input is now array("red", "yellow")
|
||||
// $input теперь array("red", "yellow")
|
||||
|
||||
$input = array("red", "green", "blue", "yellow");
|
||||
array_splice($input, 1, count($input), "orange");
|
||||
// $input is now array("red", "orange")
|
||||
// $input теперь array("red", "orange")
|
||||
|
||||
$input = array("red", "green", "blue", "yellow");
|
||||
array_splice($input, -1, 1, array("black", "maroon"));
|
||||
// $input is now array("red", "green",
|
||||
// $input теперь array("red", "green",
|
||||
// "blue", "black", "maroon")
|
||||
|
||||
$input = array("red", "green", "blue", "yellow");
|
||||
array_splice($input, 3, 0, "purple");
|
||||
// $input is now array("red", "green",
|
||||
// $input теперь array("red", "green",
|
||||
// "blue", "purple", "yellow");
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
<para>
|
||||
<example>
|
||||
<title><function>array_splice</function> examples</title>
|
||||
<para>
|
||||
См. также <function>array_slice</function>,
|
||||
<function>unset</function> и
|
||||
<function>array_merge</function>.
|
||||
Следующие выражения одинаково меняют значения массива <varname>$input</varname>:
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
array_push($input, $x, $y);
|
||||
array_splice($input, count($input), 0, array($x, $y));
|
||||
array_pop($input);
|
||||
array_splice($input, -1);
|
||||
array_shift($input);
|
||||
array_splice($input, 0, 1);
|
||||
array_unshift($input, $x, $y);
|
||||
array_splice($input, 0, 0, array($x, $y));
|
||||
$input[$x] = $y; // для массивов, где ключ равен смещению
|
||||
array_splice($input, $x, 1, $y);
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
<simplelist>
|
||||
<member><function>array_slice</function></member>
|
||||
<member><function>unset</function></member>
|
||||
<member><function>array_merge</function></member>
|
||||
</simplelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
@ -164,7 +194,7 @@ sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../~/.phpdoc/manual.ced"
|
||||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
|
Reference in New Issue
Block a user