PHP 7 – Operator null coalescing assignment (??=)

Opera­tor '??=' w PHP, znany również jako opera­tor null coale­scing assign­ment, został wprowa­dzo­ny w wersji PHP 7.4. Jest to opera­tor przypi­sa­nia zgrub­ne­go, który przypi­su­je wartość do zmien­nej tylko wtedy, gdy zmien­na jest równa null.

Opera­tor '??=' można użyć w nastę­pu­ją­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ła­dzie, wartość zmien­nej '$a' jest przypi­sa­na do zmien­nej '$b', ponie­waż '$a' jest null. Po wykona­niu opera­cji '$a ??= $b', wartość '$a' wynosi 5, ponie­waż przypi­sa­no jej wartość '$b'.

Jeśli zmien­na '$a' nie jest równa null, to opera­cja przypi­sa­nia się nie dokonu­je, a wartość zmien­nej pozosta­je niezmie­nio­na. 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 przypad­ku, wartość zmien­nej '$a' pozosta­je 10, ponie­waż '$a' nie jest równa null, więc opera­cja przypi­sa­nia nie ma miejsca.

Opera­tor '??=' jest użytecz­ny, gdy chcesz przypi­sać wartość do zmien­nej tylko wtedy, gdy jest ona null, zapew­nia­jąc prosty sposób na inicja­li­za­cję zmien­nej, gdy nie ma jeszcze przypi­sa­nej wartości.

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.