2010-06-06 2 views
0

В PHP, как я различаю число как строку [0-9] по сравнению с оператором (+ - * /) или буквой [A-Za-z]?Обнаруживает ли числовую строку или строку оператора/письма в PHP?

Я попытался это, но intval также преобразует тип nonnumbers в Интс, а также:

is_int(intval($somestr)); 

ли регулярное выражение способ сделать это?

ответ

1

Пробег: is_numeric().

is_numeric дает значение f. ех. 1e3 или 0xf5 тоже. Таким образом, это не то же самое, что и ctype_digit, что дает значение true, когда вводятся только значения от 0 до 9.

+0

Зачем оставлять нахальный комментарий ниже моего ответа, когда ваш не то, что он просил? –

+1

Потому что я ответил на вопрос, а затем увидел твой. Использование нахально дерзко! и это рекурсия. – sepehr

3

Используйте ctype functions. Например:

$isNumeric = ctype_digit('123123'); 
+0

лучше ответ здесь. – sepehr

+0

За исключением вашего нет. Он спросил, как определить числа ИЛИ буквы ИЛИ символы. Нет функций 'is_letter' или' is_symbol', таких как 'ctype'. –

+0

«Как отличить число как строку [0-9] VERSUS к оператору (+ - * /) ИЛИ буква [A-Za-z]?" от этого я получаю то, что я ответил! – sepehr