Starting with PHP 7.4+, you can use the null coalescing assignment operator (??=
). It is a shorthand to assign a value to a variable if it hasn't been set already. Consider the following examples, which are all equivalent:
// using the ternary operator
$x = (isset($x) ? $x : $y);
// PHP 7+
// using the null coalescing operator
$x = $x ?? $y;
// PHP 7.4+
// using the null coalescing assignment operator
$x ??= $y;
The null coalescing assignment operator only assigns the value if $x
is null
or not set. For example:
// PHP 7.4+
$x = 'foo';
$x ??= 'bar';
echo $x; // 'foo'
// PHP 7.4+
$x = null;
$x ??= 'bar';
echo $x; // 'bar'
// PHP 7.4+
$x ??= 'bar';
echo $x; // 'bar'
This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.