Я использую PHP 5.5 для получения числового значения из числового поля таблицы базы данных postgresql. Он может прийти из БД в виде нуля или фактического числа, в любом случае я сохраню его в переменной. Как некоторые из нас могут знать или не знать ноль * 1 = 0, это то, что мне нравится делать, но я беспокоюсь о том, что это неправильно или это плохая практика — конвертировать потенциальные нулевые значения в нули без необходимости проверять значение. Увидеть ниже:
...
$fieldVal *= 1; //assume at this point this holds value returned by DB
...
Таким образом, если БД вернул ноль, то $ fieldVal будет обнулен, а любые ненулевые значения останутся без изменений. Ваши идеи очень ценятся.
Измените свой запрос, чтобы включить COALESCE и разрешить нулевые случаи
SELECT fieldNane
к
SELECT COALESCE(fieldName, 0)
Кстати: да, это плохая практика, вводить подобные хаки.
Это действительно зависит от того, с кем вы говорите, от того, является ли ваш метод проверки на нулевое или целое число плохой практикой. В разработке программного обеспечения есть тысяча способов выполнить одну задачу, так что это действительно вопрос мнения.
Лично я бы назвал это плохой практикой просто потому, что PHP предоставляет вам инструменты для проверки, содержит ли переменная нуль или целочисленный тип. Некоторые из этих инструментов являются функциями, такими как
is_int()
или же
is_null()
И хотя эти функции имеют свои недостатки в нескольких отношениях, моя точка зрения такова: если в языке есть инструменты для выполнения чего-то, что, по вашему мнению, вы «взламываете» вместе, используйте инструменты, предоставляемые языком.