des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак

Как сделать правильную валидацию в PHP?

хочу чтобы при тексте вместо нецелого числа возвращался бы null но не выходит
public static function valid($value, $type)
    {
        if ($type == 'float')
        {
            $tmpval = $value;
            $value = (real) str_replace(',', '.', $value);
            ($tmpval != 0 && $value == '0') ? $value = null : '';
        }
        else if ($type == 'int' || $type == 'table')
        {
            $value = (int) str_replace(',', '.', $value);
        }
        else
            $value = "$value";
        
        return $value;
    }
  • Вопрос задан
  • 166 просмотров
Пригласить эксперта
Ответы на вопрос 3
Ничего не понятно. Что на входе?
public static function valid($value, $type)
    {
        if ($type == 'float')
        {
            if($value != floatval($value)) return null;
        }
        else if ($type == 'int' || $type == 'table')
        {
            return intval($value);
        }
        else
            return $value;
    }
Ответ написан
HollowJ
@HollowJ
PHP разработчик
Можно делать проверку входящего значения на is_numeric, возвращать null в случае false, иначе делать дальнейшее приведение типов.
Ответ написан
@AlikDex
is_int is_float ... etc.
Но лучше валидировать через filter_var, filter_var_array
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы