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