Какой способ предпочтительней использовать для проверки, пустая ли переменная: if ( empty($foo) ) или if ( !$foo )
И аналогично, проверка не пустая ли переменная: if ( !empty($foo) ) или просто if ( $foo )
Насколько я знаю, использование empty и просто ! перед переменной проверяют одно и то же (проверка на пустую строку/0/нул/фолс/пустой массив), т.е. результат один и тот же, но что на php 7.1 актуальнее использовать?
Вы не правы, они работаю по разному. Вот тут вы можете изучить таблицу как работают разные методы проверок empty, is_null, isset, boolean, if($x) - php.net/manual/ru/types.comparisons.php
Что использовать нужно исходить из логики вашего кода и этой таблицы.
empty - проверяет переменную на пустоту, так же, вернет true если переменной не существует.
с помощью знака ! перед переменной, проверяется ее противоположное значение, приведенное в boolean тип. если переменной не существует, на сколько я предполагаю, это приведет к ошибке. обычно использую empty
Разница есть: empty($value) сначала проверяет инициализирована-ли вообще переменная isset($value), а потом значение.
Если сделать if ( $foo ) и переменная не инициализирована, будет notice.
Т.е. не совсем это эквивалентные условия, а что актуально, в каком случае применять, это вам решать. =)