PHP shorthand for isset()?

127,229

Solution 1

Update for PHP 7 (thanks shock_gone_wild)

PHP 7 introduces the so called null coalescing operator which simplifies the below statements to:

$var = $var ?? "default";

Before PHP 7

No, there is no special operator or special syntax for this. However, you could use the ternary operator:

$var = isset($var) ? $var : "default";

Or like this:

isset($var) ?: $var = 'default';

Solution 2

PHP 7.4+; with the null coalescing assignment operator

$var ??= '';

PHP 7.0+; with the null coalescing operator

$var = $var ?? '';

PHP 5.3+; with the ternary operator shorthand

isset($var) ?: $var = '';

Or for all/older versions with isset:

$var = isset($var) ? $var : '';

or

!isset($var) && $var = '';
Share:
127,229
brentonstrine
Author by

brentonstrine

I like doing things manually. But I'm finally picking up on how incredibly useful all these new tools are.

Updated on May 06, 2020

Comments

  • brentonstrine
    brentonstrine about 4 years

    Is there a shorthand way to assign a variable to something if it doesn't exist in PHP?

    if(!isset($var) {
      $var = "";
    }
    

    I'd like to do something like

    $var = $var | "";