No, non è il sistema adatto per controllare se una variabile di tipo stringa è vuota (suppongo che stiamo parlando di stringhe).
Basta provare:
Codice PHP:
$x = '';
// stampano "vuota - falsa"
if ( empty($x) ) echo 'vuota - ';
if ( ! $x ) echo 'falsa';
$x = '0';
// stampano "vuota - falsa" anche se la stringa non è vuota, perché 0 viene interpretato come "false"
if ( empty($x) ) echo 'vuota - ';
if ( ! $x ) echo 'falsa';
$x = '1';
// stampano ""
if ( empty($x) ) echo 'vuota - ';
if ( ! $x ) echo 'falsa';
Per verificare se una stringa è vuota, l'unico sistema sicuro è usare l'operatore di uguaglianza e confrontarla con la vera stringa vuota ''.