Php is numeric пример

is_numeric

Определяет, является ли данная переменная числом или строкой, содержащей число.

Список параметров

Возвращаемые значения

Возвращает true , если value является числом или строкой, содержащей число или false в противном случае.

Примеры

Пример #1 Примеры использования is_numeric()

$tests = array(
«42» ,
1337 ,
0x539 ,
02471 ,
0b10100111001 ,
1337e0 ,
«0x539» ,
«02471» ,
«0b10100111001» ,
«1337e0» ,
«not numeric» ,
array(),
9.1 ,
null
);

foreach ( $tests as $element ) if ( is_numeric ( $element )) echo var_export ( $element , true ) . » — число» , PHP_EOL ;
> else echo var_export ( $element , true ) . » — НЕ число» , PHP_EOL ;
>
>
?>

Результат выполнения данного примера:

42 - число 1337 - число 1337 - число 1337 - число 1337 - число 1337.0 - число '0x539' - НЕ число '02471' - число '0b10100111001' - НЕ число '1337e0' - число 'not numeric' - НЕ число array ( ) - НЕ число 9.1 - число NULL - НЕ число

Смотрите также

  • Строки, содержащие числа
  • ctype_digit() — Проверяет наличие цифровых символов в строке
  • is_bool() — Проверяет, является ли переменная булевой
  • is_null() — Проверяет, является ли значение переменной равным null
  • is_float() — Проверяет, является ли переменная числом с плавающей точкой
  • is_int() — Проверяет, является ли переменная целым числом
  • is_string() — Проверяет, является ли переменная строкой
  • is_object() — Проверяет, является ли переменная объектом
  • is_array() — Определяет, является ли переменная массивом

Источник

is_numeric

Проверяет, является ли данная переменная числом. Строки, содержащие числа, состоят из необязательного знака, любого количества цифр, необязательной десятичной части и необязательной экспоненциальной части. Так, +0123.45e6 является верным числовым значением. Шестнадцатеричная (0xFF), двоичная (0b10100111001) и восьмеричная (0777) записи также допускаются, но только без знака, десятичной и экспоненциальной части.

Список параметров

Возвращаемые значения

Возвращает TRUE , если var является числом или строкой, содержащей число, в противном случае возвращается FALSE .

Примеры

Пример #1 Примеры использования is_numeric()

$tests = array(
«42» ,
1337 ,
0x539 ,
02471 ,
0b10100111001 ,
1337e0 ,
«not numeric» ,
array(),
9.1
);

foreach ( $tests as $element ) if ( is_numeric ( $element )) echo «‘ < $element >‘ — число» , PHP_EOL ;
> else echo «‘ < $element >‘ — НЕ число» , PHP_EOL ;
>
>
?>

Результат выполнения данного примера:

'42' - число '1337' - число '1337' - число '1337' - число '1337' - число '1337' - число 'not numeric' - НЕ число 'Array' - НЕ число '9.1' - число

Смотрите также

  • ctype_digit() — Проверяет на наличие цифровых символов в строке
  • is_bool() — Проверяет, является ли переменная булевой
  • is_null() — Проверяет, является ли значение переменной равным NULL
  • is_float() — Проверяет, является ли переменная числом с плавающей точкой
  • is_int() — Проверяет, является ли переменная переменной целочисленного типа
  • is_string() — Проверяет, является ли переменная строкой
  • is_object() — Проверяет, является ли переменная объектом
  • is_array() — Определяет, является ли переменная массивом
Читайте также:  Using shortcodes in php

Источник

Как использовать функцию PHP is_Numeric

Числовые строки могут содержать любое количество цифр, знаки ( например, + или — ), десятичные дроби и экспоненту. Следовательно, + 234.5e6 является допустимой числовой строкой. Двоичная и шестнадцатеричная запись не допускаются.

Функция PHP is_numeric может использоваться в операторе if() для обработки числовых строк одним способом и нечисловых другим.

Она возвращает true или false .

так как 887 — это число, приведенный выше код выводит » Yes «. А:

выводит » No «, так как » cake » не число.

Похожие функции

Функция ctype-digit , также проверяет в PHP тип переменной, но только для цифр — без дополнительных знаков, десятичных дробей или экспонент.

is_null() — определяет, равна ли переменная NULL ;
is_float() — определяет, является ли значение переменной типом float ;
php is_int() — является ли значение переменной типом int ;
is_string() – является ли переменная строкой;
is_object() – является ли переменная типом object ;
is_array() — является ли значение переменной типом array ;
is_bool() — является ли значение переменной типом bool .

Эти функции также помогают в PHP определить тип переменной.

Подборка курсов по PHP

4.4 GeekBrains еще 1 курс

4.4 Skillbox еще 3 курса

Источник

is_numeric

Определяет, является ли данная переменная числом или строкой, содержащей число.

Список параметров

Возвращаемые значения

Возвращает true , если value является числом или строкой, содержащей число или false в противном случае.

Список изменений

Версия Описание
8.0.0 Строки, состоящие из чисел, заканчивающиеся пробелом ( «42 » ), теперь будут возвращать true . Ранее вместо этого возвращалось false .

Примеры

Пример #1 Примеры использования is_numeric()

$tests = array(
«42» ,
1337 ,
0x539 ,
02471 ,
0b10100111001 ,
1337e0 ,
«0x539» ,
«02471» ,
«0b10100111001» ,
«1337e0» ,
«not numeric» ,
array(),
9.1 ,
null ,
» ,
);

foreach ( $tests as $element ) if ( is_numeric ( $element )) echo var_export ( $element , true ) . » is numeric» , PHP_EOL ;
> else echo var_export ( $element , true ) . » is NOT numeric» , PHP_EOL ;
>
>
?>

Результат выполнения данного примера:

42 - число 1337 - число 1337 - число 1337 - число 1337 - число 1337.0 - число '0x539' - НЕ число '02471' - число '0b10100111001' - НЕ число '1337e0' - число 'not numeric' - НЕ число array ( ) - НЕ число 9.1 - число NULL - НЕ число '' - НЕ число

Пример #2 Пример использования is_numeric() с пробелом

Читайте также:  Php array rand значения

$tests = [
» 42″ ,
«42 » ,
«\u9001» , // неразрывный пробел
«9001\u» , // неразрывный пробел
];
foreach ( $tests as $element ) if ( is_numeric ( $element )) echo var_export ( $element , true ) . » — число» , PHP_EOL ;
> else echo var_export ( $element , true ) . » — НЕ число» , PHP_EOL ;
>
>
?>

Результат выполнения данного примера в PHP 8:

' 42' - число '42 ' - число ' 9001' - НЕ число '9001 ' - НЕ число

Результат выполнения данного примера в PHP 7:

' 42' - число '42 ' - НЕ число ' 9001' - НЕ число '9001 ' - НЕ число

Смотрите также

  • Строки, содержащие числа
  • ctype_digit() — Проверяет наличие цифровых символов в строке
  • is_bool() — Проверяет, является ли переменная булевой
  • is_null() — Проверяет, является ли значение переменной равным null
  • is_float() — Проверяет, является ли переменная числом с плавающей точкой
  • is_int() — Проверяет, является ли переменная целым числом
  • is_string() — Проверяет, является ли переменная строкой
  • is_object() — Проверяет, является ли переменная объектом
  • is_array() — Определяет, является ли переменная массивом
  • filter_var() — Фильтрует переменную с помощью определённого фильтра

User Contributed Notes 8 notes

Note that the function accepts extremely big numbers and correctly evaluates them.

$v = is_numeric ( ‘58635272821786587286382824657568871098287278276543219876543’ ) ? true : false ;

var_dump ( $v );
?>

The above script will output:

So this function is not intimidated by super-big numbers. I hope this helps someone.

PS: Also note that if you write is_numeric (45thg), this will generate a parse error (since the parameter is not enclosed between apostrophes or double quotes). Keep this in mind when you use this function.

for strings, it return true only if float number has a dot

is_numeric( ‘42.1’ )//true
is_numeric( ‘42,1’ )//false

Apparently NAN (Not A Number) is a number for the sake of is_numeric().

echo «is » ;
if (! is_numeric ( NAN ))
echo «not » ;
echo «a number» ;
?>

Outputs «is a number». So something that is NOT a number (by defintion) is a number.

is_numeric fails on the hex values greater than LONG_MAX, so having a large hex value parsed through is_numeric would result in FALSE being returned even though the value is a valid hex number

is incorrect for PHP8, it’s numeric.

Note that this function is not appropriate to check if «is_numeric» for very long strings. In fact, everything passed to this function is converted to long and then to a double. Anything greater than approximately 1.8e308 is too large for a double, so it becomes infinity, i.e. FALSE. What that means is that, for each string with more than 308 characters, is_numeric() will return FALSE, even if all chars are digits.

However, this behaviour is platform-specific.

Читайте также:  Действие при нажатии кнопки java

In such a case, it is suitable to use regular expressions:

function is_numeric_big($s=0) return preg_match(‘/^-?\d+$/’, $s);
>

Note that is_numeric() will evaluate to false for number strings using decimal commas.

regarding the global vs. american numeral notations, it should be noted that at least in japanese, numbers aren’t grouped with an extra symbol every three digits, but rather every four digits (for example 1,0000 instead of 10.000). also nadim’s regexen are slightly suboptimal at one point having an unescaped ‘.’ operator, and the whole thing could easily be combined into a single regex (speed and all).

$eng_or_world = preg_match
( ‘/^[+-]?’ . // start marker and sign prefix
‘((((8+)|(3(,4)+)))?(\\.9)?(4*)|’ . // american
‘(((6+)|(5(\\.9)+)))?(,8)?(9*))’ . // world
‘(e8+)?’ . // exponent
‘$/’ , // end marker
$str ) == 1 ;
?>

i’m sure this still isn’t optimal, but it should also cover japanese-style numerals and it fixed a couple of other issues with the other regexen. it also allows for an exponent suffix, the pre-decimal digits are optional and it enforces using either grouped or ungrouped integer parts. should be easier to trim to your liking too.

Источник

PHP is_numeric() Function

Check whether a variable is a number or a numeric string, or not:

$b = 0;
echo «b is » . is_numeric($b) . «
«;

$c = 32.5;
echo «c is » . is_numeric($c) . «
«;

$d = «32»;
echo «d is » . is_numeric($d) . «
«;

$e = true;
echo «e is » . is_numeric($e) . «
«;

$f = null;
echo «f is » . is_numeric($f) . «
«;
?>

Definition and Usage

The is_numeric() function checks whether a variable is a number or a numeric string.

This function returns true (1) if the variable is a number or a numeric string, otherwise it returns false/nothing.

Syntax

Parameter Values

Technical Details

Return Value: TRUE if variable is a number or a numeric string, FALSE otherwise
Return Type: Boolean
PHP Version: 4.0+

❮ PHP Variable Handling Reference

Unlock Full Access 50% off

COLOR PICKER

colorpicker

Join our Bootcamp!

Report Error

If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:

Thank You For Helping Us!

Your message has been sent to W3Schools.

Top Tutorials
Top References
Top Examples
Get Certified

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Источник

Оцените статью