Какова цель использования передачи по ссылке, если глобальная область действия дает тот же результат в PHP?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Какова цель использования передачи по ссылке, если глобальная область действия дает тот же результат в PHP?

Сообщение Anonymous »

В настоящее время я изучаю функции и область видимости переменных в PHP.
Я узнал, что мы можем изменить значение переменной, определенной вне функции, используя два разных подхода. Кажется, оба достигают одного и того же результата: изменение исходного значения переменной.
Передача по ссылке

Использование символа & для передачи переменной по ссылке, что позволяет функции изменять ее напрямую:

Код: Выделить всё

$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
Поскольку использование global позволяет получать доступ к переменной и изменять ее из любого места, зачем нам вообще нужна концепция передачи по ссылке?
Есть ли конкретные случаи, когда использование ссылок необходимо или предпочтительнее использования глобальной?
Есть ли между ними какая-либо разница с точки зрения производительности или структуры кода?
Пожалуйста, не давайте никаких ответов без ваших Ресурсов это очень важно!!!!

Подробнее здесь: https://stackoverflow.com/questions/798 ... hieves-the
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»