вы не автор вопроса. Вы вклинились в обсуждение, придумали какие-то свои дополнительные условия, которых не было в вопросе и теперь самоутверждаетесь в теме рассказывая, что ваше мнение самое правильное если рассматривать именно ваши уточнения, а не исходный вопрос.
Играйте в эти игры сами.
в данной задаче нет ни слова о типах, только о проверке на то, что переменная не пустая. Поэтому спор == или === совершенно беспочвенный. А чтобы однозначно избежать неопределённости и решить задачу проверки на то, что переменная не пустая, используем функцию empty().
"Бывают ситуации" это за пределами рассматриваемого условия.
Я на собеседованиях всегда отшиваю тех, кто не знает алгоритмы и структуры данных