Возвращение значений по ссылке

Задача
Необходимо вернуть значение по ссылке, а не по значению. Это позволяет избежать создания еще одной копии переменной.

Решение
Синтаксис возвращения переменной по ссылке подобен синтаксису передачи ее по ссылке. Однако вместо размещения символа & перед параметром располагаем его перед именем функции:

function &wrap_html_tag($string, $tag = 'b') {
return "<$tag>$string";
}

Кроме того, при вызове функции нужно использовать оператор присваивания =&, а не обычный оператор =:

$html =& wrap_html_tag($string);

Обсуждение
В отличие от передачи значения в функцию, когда аргумент передается либо по значению, либо по ссылке, в данном случае не обязательно выбирать присваивание ссылки, а можно просто взять возвращенноеb значение. Достаточно заменить обычным оператором = оператор =&, и PHP присвоит значение вместо ссылки.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Возвращение более одного значения
Возвращение информации об ошибке
Вызов переменных функций
Доступ к глобальной переменной внутри функции
Доступ к параметрам функций

Вернуться в раздел: PHP / 6. Функции