Looking at the manual we have this description:
'The expression (expr1)? (expr2): evaluates to expr2 if expr1 evaluates to TRUE, and expr3 if expr1 evaluates to FALSE. Since PHP 5.3, it is possible to leave the middle part of the ternary operator. Expression expr1?: Expr3 returns expr1 if expr1 evaluates to TRUE, and expr3 otherwise. '
Test
$vlTeste1 = 5.25;
var_dump($vlTeste1 > 0 ?: 9.99); // true , em vez de 5.25
Situation
According to the description, is it incorrect to $vl = (!empty($vl)) ?: null;
?