Евгений Самсонов, я тоже так раньше думал, но когда читаешь доки, что возвращают функции, то так и хочется проверять именно на то, что возвращает - это придаёт уверенности какой-то что ли? )
Канонов нет нужно читать спецификацию функции тк в конкретном случае вернется false либо не пустая строка что всегда будет приведено к true, то тут все равно как вы напишите.
Но надежней конечно приучить себя писать второй вариант тк бывают неоднозначные для компилятора возврат значения, см. функцию strpos