PHP: valor padrão in-line para variáveis,

Use menos código para fazer o que você precisa.

Você não precisa especificar a variável novamente usando o _?_:_formato.

echo $var?:"default";

É o mesmo que

echo $var?$var:"default";

Agora, no que diz respeito a uma verificação vazia, você poderia usar @para silenciar avisos, não tenho certeza das ramificações técnicas, mas você já está fazendo sua própria verificação ao usar este formato:

echo @$non_existing_var?:"default";

Alguns exemplos:

<?php

$nope
= null;
$yup
= "hello";
echo
($nope?:$yup) . "n" ;
echo
($yup?:$nope) . "n" ;

$items
= [ 'one', 'two', false, 'three', 'four', null ];

foreach($items as $item):
echo
($item?:"default shown (".var_export($item,true).")")."n";
endforeach
;

echo
(@$non_existing?:"default for non-existant variable!");

?>

Resultado:

$ php variabledefault.php
hello

hello

one

two

default shown (false)
three

four

default shown (NULL)
default for non-existant variable!%