Files
php-doc-ru/reference/array/functions/array-replace.xml
2024-10-07 05:22:41 +03:00

164 lines
4.9 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: 5cc10e8d90a9d0cbb35779b60580e772e7d660a1 Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.array-replace" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_replace</refname>
<refpurpose>Заменяет элементы массива элементами других массивов</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_replace</methodname>
<methodparam><type>array</type><parameter>array</parameter></methodparam>
<methodparam rep="repeat"><type>array</type><parameter>replacements</parameter></methodparam>
</methodsynopsis>
<para>
Функция <function>array_replace</function> создаёт новый массив и присваивает
новому массиву элементы, которые извлекла из каждого ключа каждого входного массива.
Функция использует значение из самого правого входного массива,
если один и тот же ключ встречается в нескольких входных массивах.
</para>
<para>
Функция <function>array_replace</function> не обрабатывает элементы рекурсивно,
а заменяет значение каждого ключа как только встречает ключ в следующем массиве.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
Массив, элементы которого требуется заменить.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>replacements</parameter></term>
<listitem>
<para>
Массивы, из которых функция извлечёт элементы.
Значения следующего массива перезаписывают значения предыдущего.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает массив (<type>array</type>).
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример замены элементов массива элементами других массивов функцией <function>array_replace</function></title>
<programlisting role="php">
<![CDATA[
<?php
$base = array("апельсин", "банан", "яблоко", "малина");
$replacements = array(0 => "ананас", 4 => "вишня");
$replacements2 = array(0 => "виноград");
$basket = array_replace($base, $replacements, $replacements2);
var_dump($basket);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
array(5) {
[0]=>
string(16) "виноград"
[1]=>
string(10) "банан"
[2]=>
string(12) "яблоко"
[3]=>
string(12) "малина"
[4]=>
string(10) "вишня"
}
]]>
</screen>
</example>
<example>
<title>Пример обработки вложенных массивов</title>
<programlisting role="php">
<![CDATA[
<?php
$base = [ 'цитрусовые' => [ 'апельсин', 'лимон' ], 'семечковые' => [ 'яблоко' ] ];
$replacements = [ 'цитрусовые' => [ 'грейпфрут' ] ];
$replacements2 = [ 'цитрусовые' => [ 'кумкват', 'цитрон' ], 'семечковые' => [ 'мушмула' ] ];
$basket = array_replace($base, $replacements, $replacements2);
var_dump($basket);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
array(2) {
["цитрусовые"]=>
array(2) {
[0]=>
string(14) "кумкват"
[1]=>
string(12) "цитрон"
}
["семечковые"]=>
array(1) {
[0]=>
string(14) "мушмула"
}
}
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_replace_recursive</function></member>
<member><function>array_merge</function></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
-->