The null coalesce operator
Notice: Undefined index: name in /home/httpd/vhosts/sporttoto.net/httpdocs/index.php on line 7
- #0
N/A - #1
N/A - #2
N/A - #3
N/A - #4
// #0
echo $_GET['name'] . ' - #0';
// #1
if (isset($_GET['name']) && !empty($_GET['name'])) {
$name = $_GET['name'];
} else {
$name = 'N/A';
}
echo $name . ' - #1';
// #2
if (!empty($_GET['name'])) {
$name = $_GET['name'];
} else {
$name = 'N/A';
}
echo $name . ' - #2';
// #3
$name = ((isset($_GET['name']) && !empty($_GET['name']))) ? $_GET['name'] : 'N/A';
echo $name . ' - #3';
// #4
$name = (!empty($_GET['name'])) ? $_GET['name'] : 'N/A';
echo $name . ' - #4';
// #php7
// muss existieren
// und not null sein
// VVVVVVVVVVVVV sonst wird 2. Wert übernommen
$name = $_GET['name'] ?? 'N/A';
echo $name . ' - #php7';
Uniform variable syntax
/*** expression syntax ***/
$$foo['bar']['baz']
// PHP 5.x meaning
${$foo['bar']['baz']}
// PHP 7.x meaning
($$foo)['bar']['baz']
/*** expression syntax ***/
$foo->$bar['baz']
// PHP 5.x meaning
$foo->{$bar['baz']}
// PHP 7.x meaning
($foo->$bar)['baz']