проверить является ли числом php

используйте фцнкция =

bool is_numeric ( mixed $var )

Проверяет - является ли данная переменная (в том числе и строка, содержащая состоящая только из символов, используемых для записи числа) числом.
Числовая строка может содержать :

  1. необязательный знак
  2. любое количество цифр
  3. необязательную дробную часть
  4. необязательную экспоненциальную(показательную) часть - т.е. так называемый "порядок"

ТАк например +0123.45e6 является с точки зрения рассматриваемой нами функции нормальным числом.

Допустима и шестнадцатеричная форма записи = (0xFF) - но без знака - и без дробной и порядковой частей.

например:
выполнение следующего кода :

<?php
$tests = array(
        "42", 
        1337, 
        "1e4", 
        "not numeric", 
        Array(), 
        9.1
        );

foreach ($tests as $element) {
    if (is_numeric($element)) {
        echo "'{$element}' is numeric", PHP_EOL;
    } else {
        echo "'{$element}' is NOT numeric", PHP_EOL;
    }
}
?> 

даст такой результат:

'42' is numeric
'1337' is numeric
'1e4' is numeric
'not numeric' is NOT numeric
'Array' is NOT numeric
'9.1' is numeric