Możesz spróbować za pomocą funkcji is_int(). Tutaj masz link do dokumentacji http://php.net/manual/en/function.is-int.php. Przykładowy if powinien wyglądać tak:
if(is_int(1)) {
// warunek spełniony - jakiś kod
}
elseif(is_int("1")) {
//warunek niespełniony ponieważ w parametrze został podany string
}
else {
//warunek niespełniony - jakiś kod
}
W przypadku tej funkcji warunek nie przejdzie jeśli cyfra zostanie podana jako string czyli np: $num = "1";
Jeśli chcesz sprawdzić oba przypadki(liczbę i liczbę zapisaną jako string) skorzystaj z funkcji is_numeric(). Link do dokumentacji http://php.net/manual/en/function.is-numeric.php
Przykładowy kod:
if(is_numeric(1)) {
//Warunek spełniony
}
elseif(is_numeric("1")) {
//Warunek spełniony
}
elseif(is_numeric("przykładowy string")) {
//Warunek niespełniony
}
else {
//Warunek niespełniony
}