array_replace_recursive() 函數(shù)使用傳遞的數(shù)組遞歸替換第一個數(shù)組的元素
array_replace_recursive ( array $array1 [, array $... ] ) : array
array_replace_recursive() 使用后面數(shù)組元素的值替換數(shù)組 array1 的值。 如果一個鍵存在于第一個數(shù)組同時也存在于第二個數(shù)組,它的值將被第二個數(shù)組中的值替換。 如果一個鍵存在于第二個數(shù)組,但是不存在于第一個數(shù)組,則會在第一個數(shù)組中創(chuàng)建這個元素。 如果一個鍵僅存在于第一個數(shù)組,它將保持不變。 如果傳遞了多個替換數(shù)組,它們將被按順序依次處理,后面的數(shù)組將覆蓋之前的值。
array_replace_recursive() 是遞歸的:它將遍歷數(shù)組并將相同的處理應用到數(shù)組的內部值。
如果第一個數(shù)組中的值是標量,它的值將被第二個數(shù)組中的值替換,它可能是一個標量或者數(shù)組。如果第一個數(shù)組和第二個數(shù)組中的值都是數(shù)組,array_replace_recursive() 函數(shù)將遞歸地替換它們各自的值。
返回一個數(shù)組。如果發(fā)生錯誤,將返回 NULL
。
使用傳遞的數(shù)組遞歸替換第一個數(shù)組的元素
<?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); ?>測試看看 ?/?
輸出結果:
Array ( [citrus] => Array ( [0] => pineapple ) [berries] => Array ( [0] => blueberry [1] => raspberry ) ) Array ( [citrus] => Array ( [0] => pineapple ) [berries] => Array ( [0] => blueberry ) )