Передача по ссылке полезна и необходима при передаче переменной в качестве параметра функции, ожидая, что эта переменная будет изменена без копирования в памяти. Например, многие нативные функции PHP array_*()
работают с ссылками на массивы.
Эта функция, например, получает ссылку на массив и добавляет элемент в исходный массив. Если бы это было сделано без ссылки &
, в области действия функции была бы создана новая копия массива. Затем он должен быть возвращен и переназначен для использования.
function add_to_an_array(&$array)
{
// Append a value to the array
$array[] = 'another value';
}
$array = array('one', 'two', 'three');
add_to_an_array($array);
print_r($array);
Array
(
[0] => one
[1] => two
[2] => three
[3] => another value
)