Как сделать проверку на тип данных в PHP?
Подскажите пожалуйста, как сделать проверку на тип данных в аргументах в функции в PHP? Т.е. вот есть функция
function calc($a, $b) { echo $a + $b; }
calc(а, б);
и как сделать вводимые буквы недопустимым типом данных, чтобы не было результата вообще, или ошибка была?
Знаю, что легко, но совершенный новичок в PHP :) буду благодарен за объяснение!
Ответы (1 шт):
Автор решения: Zerxa
→ Ссылка
Как вариант.
- ) Указать то, что функция будет принимать и отдавать (string / int) Пример:
function calc (int $a, int $b): int
{
return $a + b;
}
То есть, функция принимает два параметра и оба типа Int (числовое), то, что после двоеточия - это то, что функция возвращает
- ) Если функция может принимать смешанные данные (mixed), то можно сделать небольшую проверку. Пример:
function calc($a, $b)
{
if(gettype($a) !== 'integer') {
$result = 'Переменная $a не является числом';
} elseif(gettypes($b) !== 'integer') {
$result = 'Переменная $b не является числом';
}
else {
$result = $a + $b;
}
return $result;
}
- ) Можно просто привести перевести переменные в любой тип данных:
function calc ($a, $b) {
return (int) $a + (int) $b;
}
Тогда при вызове calc(5, 5) мы получим 10, но если одно из значений не будет цифрой, то оно будет равно нулю, то есть calc(5, 'стркоа') = (5 + 0) = 5.