Подпись функции на PHP.net для array_replace() говорит, что массивы будут переданы в по ссылке. Какова будет причина (ы)/выгода (ы) делать это таким образом, а не по значению, поскольку для получения предполагаемого результата вы должны вернуть готовый массив в переменную. Просто для ясности, я могу воспроизвести результаты в руководстве, так что это не вопрос о том, как использовать эту функцию.
Вот сигнатура функции и пример, оба с php.net.
Источник: http://ca3.php.net/manual/en/function.array-replace.php
Сигнатура функции:
array array_replace ( array &$array , array &$array1 [, array &$... ] )
Пример кода:
$base = array("orange", "banana", "apple", "raspberry");
$replacements = array(0 => "pineapple", 4 => "cherry");
$replacements2 = array(0 => "grape");
$basket = array_replace($base, $replacements, $replacements2);
print_r($basket);
Приведенный выше пример выведет:
Array
(
[0] => grape
[1] => banana
[2] => apple
[3] => raspberry
[4] => cherry
)