1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-24 07:12:15 +01:00
Files
archived-doc-de/reference/array/functions/array-replace-recursive.xml
Martin Samesch 05941b13bf Sync with EN
2025-05-03 21:20:43 +02:00

195 lines
5.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 0e6f9948fe9e5412cc5f31d0a30bcde30f9ee404 Maintainer: samesch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.array-replace-recursive" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_replace_recursive</refname>
<refpurpose>Ersetzt rekursiv Elemente des ersten Arrays durch Elemente der übergebenen Arrays</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_replace_recursive</methodname>
<methodparam><type>array</type><parameter>array</parameter></methodparam>
<methodparam rep="repeat"><type>array</type><parameter>replacements</parameter></methodparam>
</methodsynopsis>
<para>
<function>array_replace_recursive</function> ersetzt die Werte von
<parameter>array</parameter> durch die gleichen Werte aus allen folgenden
Arrays. Wenn ein Schlüssel aus dem ersten Array im zweiten Array vorhanden
ist, wird sein Wert durch den Wert aus dem zweiten Array ersetzt. Wenn der
Schlüssel im zweiten Array vorhanden ist, aber nicht im ersten, wird er im
ersten Array erstellt. Wenn ein Schlüssel nur im ersten Array vorhanden
ist, wird er unverändert belassen. Wenn mehrere Arrays zum Ersetzen
übergeben werden, werden sie der Reihe nach verarbeitet, wobei das spätere
Array die vorherigen Werte überschreibt.
</para>
<para>
Die Funktion <function>array_replace_recursive</function> ist rekursiv: sie
rekursiert in Arrays und wendet den gleichen Prozess auf den inneren Wert an.
</para>
<para>
Wenn der Wert im ersten Array ein Skalar ist, wird er durch den Wert im
zweiten Array ersetzt, egal ob es sich um einen Skalar oder ein Array
handelt. Wenn sowohl der Wert im ersten Array als auch der Wert im zweiten
Array ein Array ist, ersetzt <function>array_replace_recursive</function>
den jeweiligen Wert rekursiv.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
Das Array, dessen Elemente ersetzt werden.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>replacements</parameter></term>
<listitem>
<para>
Arrays, aus denen Elemente ausgelesen werden sollen.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt ein <type>Array</type> zurück.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>array_replace_recursive</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
$base = array('citrus' => array("orange"), 'berries' => array("blackberry", "raspberry"));
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));
$basket = array_replace_recursive($base, $replacements);
print_r($basket);
$basket = array_replace($base, $replacements);
print_r($basket);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
[1] => raspberry
)
)
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
)
)
]]>
</screen>
</example>
<example>
<title><function>array_replace_recursive</function> und rekursives Verhalten</title>
<programlisting role="php">
<![CDATA[
<?php
$base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' );
$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis'));
$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis');
$basket = array_replace_recursive($base, $replacements, $replacements2);
print_r($basket);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
[1] => raspberry
)
[others] => litchis
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_replace</function></member>
<member><function>array_merge_recursive</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
-->