Как лучше всего преобразовать переменную в логическое значение в php?

Я читал этот вопрос и увидел эту строку:

if ($a == $b) { return true } else { return false }

И это заставило меня задуматься, как лучше всего привести переменную неизвестного типа (может быть строка, может быть int; кто знает? кого это волнует?) в логическое значение?

Конечно, if ($ var) {return true; } else {вернуть ложь; } поможет, но я думаю, что вернет $ var? true: false; , вероятно, лучше.

Если на то пошло:

  • return $ var && true
  • return $ var || false
  • return! empty ($ var)

, наверное, лучше, но есть ли лучший способ преобразования в bool? Что еще более важно, что делает его лучше?

Отредактируйте, чтобы уточнить:

Это не было написано с намерением представить исчерпывающий список способов преобразования в логическое значение. У меня вопрос конкретно о явном приведении . Прежде чем я узнал о empty , я использовал isset ($ var) && $ var , так как это предотвратило бы появление ошибок в необъявленных переменных. Теперь я использую ! Empty ($ var) , так как это быстрее набирать.

! Empty имеет (недостаток) преимущество в том, что не выдает никаких ошибок E_NOTICE , когда переменная не определена. Это можно считать хорошим, если вы проверяете переменные $ _ GET или $ _ SESSION , для большинства других переменных, я полагаю, это можно считать плохим, поскольку это скроет проблемы, когда переменная не инициализирована там, где она должна быть инициализирована.

Мне было любопытно, есть ли у других разработчиков другой способ делать вещи, о которых я не знал.

16
задан Community 23 May 2017 в 11:53
поделиться