array_replace_recursive

array_replace_recursive - rekurzivně nahradí prvky prvního pole prvkami předaných polí.

Syntaxe:

array array_replace_recursive ( array $array , array $array1 [, array $... ] )

Funkce array_replace_recursive() nahrazuje prvky prvního pole array odpovídajícími podle klíčů hodnotami následujících polí. V případě, že klíč z prvního pole je ve druhém, hodnota tohoto klíče bude nahrazena hodnotou z druhého pole. V případě, že klíč je ve druhém poli, ale chybí v prvním, bude vytvořen v prvním poli. V případě, že klíč je jenom v prvním poli, zůstane tak jak je. V případě, že je předáno více polí, budou zpracovávány v pořadí, následující přepisují předchozí hodnoty.

Pokud je hodnota předaná do pole array skalární, bude nahrazena hodnotou z pole array1, která může být jak skalární tak i polem.

Vrací pole nebo NULL v případě chyby.

Příklad použíti:

<?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);
?>

Výsledek je následující:

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

)
Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
        )

)

Příklad použíti:

<?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);
?>

Výsledek je následující:

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

    [others] => litchis
)

Viz také: