Эквивалентны ли эти 2 выражения (я имею в виду "могу ли я заменить 1-е на 2-е):
if ($var) { ... }
и
if (!empty($var)) { ... }
Я чувствую, что есть разница, ноЯ рационально не могу сказать, какой из них.
Для меня первый оценивает, является ли $ var истинным или ложным, и я могу ошибаться, но «ложные» оценки означают, что $ var - ложное (логическое), пустое (строка,объект или массив), значение 0 (int, float или string) или undefined ... так работает «пустая» функция (http://php.net/manual/en/function.empty.php).
Если эти тесты эквивалентны (по крайней мере, в определенных случаях), что лучше использовать (читабельность, производительность, обслуживание, ...)?
Спасибо