Нулевой оператор объединения (??
) возвращает свой первый операнд, если он существует и не равен NULL, и иначе возвращает свой второй операнд.
Если первый операнд является вызовом функции или метода, выполняет лиоператор вызывает вызов функции дважды?
В качестве примера, скажем, функция get_name()
возвращает строковое значение или ноль.
$name = get_name() ?? 'no name found';
Так же, как get_name()
вызывается один раз, и сохраненное значение готово присвоить его переменной ($name
) или когда ??
активирован из-за того, что функция, возвращающая значение, истинное для isset()
, ??
вызывает первый операндво второй раз, чтобы получить значение?