Nie jestem pewien, czy któraś z tych odpowiedzi ci pomaga (nie pomogły mi), szczególnie w przypadku, gdy twoimi "defualtami" mogą być tablice asocjacyjne o więcej niż jednym poziomie głębokości.
Myślę, że to, czego szukasz, to array_replace_recursive
.
$finalArray = array_replace_recursive(array $defaults, array $inputOptions)
heres przykład, który pobiera opcjonalny wachlarz opcji do funkcji i robi niektóre przetwarzania na podstawie wyników tych opcji „opts
” i defaults
którym należy podać:
function do_something() {
$args = func_get_args();
$opts = $args[0] ? $args[0] : array();
$defaults = array(
"second_level" => array(
"key1" => "val1",
"key2" => "val2"
),
"key1" => "val1",
"key2" => "val2",
"key3" => "val3"
);
$params = array_replace_recursive($defaults, $opts);
// do something with these merged parameters
}
Sprawdź to z here
To byłoby świetnie! TY – Orangeman555