Operator '??=' w PHP, znany również jako operator null coalescing assignment, został wprowadzony w wersji PHP 7.4. Jest to operator przypisania zgrubnego, który przypisuje wartość do zmiennej tylko wtedy, gdy zmienna jest równa null.
Operator '??=' można użyć w następujący sposób:
$a = null; $b = 5; $a ??= $b; echo $a; // Wyświetli: 5, ponieważ $a było null i przypisano mu wartość $b
W powyższym przykładzie, wartość zmiennej '$a' jest przypisana do zmiennej '$b', ponieważ '$a' jest null. Po wykonaniu operacji '$a ??= $b', wartość '$a' wynosi 5, ponieważ przypisano jej wartość '$b'.
Jeśli zmienna '$a' nie jest równa null, to operacja przypisania się nie dokonuje, a wartość zmiennej pozostaje niezmieniona. Na przykład:
$a = 10; $b = 5; $a ??= $b; echo $a; // Wyświetli: 10, ponieważ $a nie jest null, więc nie nastąpiła operacja przypisania
W tym przypadku, wartość zmiennej '$a' pozostaje 10, ponieważ '$a' nie jest równa null, więc operacja przypisania nie ma miejsca.
Operator '??=' jest użyteczny, gdy chcesz przypisać wartość do zmiennej tylko wtedy, gdy jest ona null, zapewniając prosty sposób na inicjalizację zmiennej, gdy nie ma jeszcze przypisanej wartości.