'PHP: is there a difference between (isset($a) && !empty($a)) and $a??false [duplicate]

I inherited a codebase that is filled with conditionals using terms like (isset($a) && !empty($a)) but the $a are actually long variable names and it's an eye-sore. I wanted to replace the expressions with $a??false but I wasn't sure if there was some case that wouldn't be the same.

Are these statements identical or is there some value of $a that would be different?

php


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source