Я узнал, что мы можем изменить значение переменной, определенной вне функции, используя два разных подхода. Кажется, оба достигают одного и того же результата: изменение исходного значения переменной.
Передача по ссылке
Использование символа & для передачи переменной по ссылке, что позволяет функции изменять ее напрямую:
Код: Выделить всё
$val = 10;
function addByRef(&$num) {
$num += 5;
}
addByRef($val);
echo $val; // Output: 15
Использование ключевого слова global для доступа и изменения внешней переменной:
Код: Выделить всё
$val = 10;
function addByGlobal() {
global $val;
$val += 5;
}
addByGlobal();
echo $val; // Output: 15 as well
Есть ли конкретные случаи, когда использование ссылок необходимо или предпочтительнее использования глобальной?
Есть ли между ними какая-либо разница с точки зрения производительности или структуры кода?
Пожалуйста, не давайте никаких ответов без ваших Ресурсов это очень важно!!!!
Подробнее здесь: https://stackoverflow.com/questions/798 ... hieves-the
Мобильная версия