Note that function will NOT replace a sub-tree from you $array1 if its value in $array2 is an empty array.
Even tho the key for this dimension is technically 'set'.
(I suppose it treats it as just another recursive level to dive in, finding no key to compare, backtracking while leaving this sub-tree alone)
For example:
$array1 = ['first' => ['second' => 'hello']];
$array2 = ['first' => []];
$result = array_replace_recursive($array1, $array2);
$result is still: ['first' => ['second' => 'hello']].array_replace_recursive
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
array_replace_recursive
Референца за `function.array-replace-recursive.php` со подобрена типографија и навигација.
array_replace_recursive
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
array_replace_recursive — Replaces elements from passed arrays into the first array recursively
= NULL
array_replace_recursive() Рекурсивно ги заменува елементите од дадените низи во првата низа
array ги заменува вредностите на
array_replace_recursive() со истите вредности од сите следни низи. Ако клуч од првата низа постои во втората низа, неговата вредност ќе биде заменета со вредноста од втората низа. Ако клучот постои во втората низа, а не во првата, тој ќе биде креиран во првата низа. Ако клучот постои само во првата низа, тој ќе остане како што е. Ако се дадени повеќе низи за замена, тие ќе се обработат по ред, при што подоцнежната низа ќе ги презапише претходните вредности.
е рекурзивно: ќе навлезе во низите и ќе го примени истиот процес на внатрешната вредност. array_replace_recursive() Кога вредноста во првата низа е скаларна, таа ќе биде заменета со вредноста во втората низа, без разлика дали е скаларна или низа. Кога вредноста во првата низа и втората низа се и двете низи,
Параметри
array-
Низата во која се заменуваат елементите.
replacements-
ќе ги замени нивните соодветни вредности рекурзивно.
Вратени вредности
Враќа array.
Примери
Пример #1 array_replace_recursive() example
<?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);
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
[1] => raspberry
)
)
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
)
)
Пример #2 array_replace_recursive() Низи од кои ќе се извлечат елементи.
<?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);
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
[1] => raspberry
)
[others] => litchis
)
Види Исто така
- array_replace() - Спојувај една или повеќе низи рекурзивно
- array_merge_recursive() со типови што не се низи