Null Coalescing Assignment Operator

In the previous section you learned about the ?? comparison operator. The ??= operator that is discussed in this section is an assignment operator that complements ?? to reduce the amount of code you need to write for common use cases even further.

$user = $user ?? 'anonymous';
var_dump($user);

Executing the code shown above will print the output shown below:

string(9) "anonymous"

Using the ??= operator, the previous example can be expressed without repeating $user:

$user ??= 'anonymous';
var_dump($user);

Executing the code shown above will print the same output as before.

Here is how the ??= operator works: the value of the right-hand operand is assigned to the left-hand operator if the left-hand operator is null. If the right-hand operator is not null then nothing happens.