The null coalescing operator?? returns its left operand if it exists and is not null, and otherwise returns the right operand. PHP 7.0 added it as a short form of a ternary with isset(). It is handy for default values.
Like isset(), it raises no warning when the key or variable is missing. It can be chained, so $_GET['user'] ?? $_POST['user'] ?? 'guest' returns the first value that is set.
PHP 7.4 added the null coalescing assignment operator??=. It assigns only when the left side is missing or null, as in $config['timeout'] ??= 30.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.