欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP is_numeric()函數(shù)用法詳解

 更新時(shí)間:2023年07月27日 10:48:35   作者:士別三日wyx  
is_numeric()函數(shù)是PHP中的內(nèi)置函數(shù),用于檢查傳入函數(shù)中作為參數(shù)的變量是數(shù)字還是數(shù)字字符串,該函數(shù)返回一個(gè)布爾值,本文就給大家講講PHP is_numeric()函數(shù)使用方法,需要的朋友可以參考下

is_numeric() 可以檢測(cè)「變量」是否為「數(shù)字」或數(shù)字字符串。

語(yǔ)法

bool is_numeric( $var )

參數(shù)

  • $var :需要檢測(cè)的變量

返回值

布爾類型

  • 返回 true :整形、浮點(diǎn)型、整形字符串、浮點(diǎn)型字符串
  • 其他 false

一、基本使用

「整形」、「浮點(diǎn)型」以及他們的字符串形式,都返回 true 。

實(shí)例:

var_dump(is_numeric(1));
var_dump(is_numeric(1.1));
var_dump(is_numeric('1'));
var_dump(is_numeric('1.1'));

輸出:

bool(true)
bool(true)
bool(true)
bool(true)

二、16進(jìn)制繞過

is_numeric() 會(huì)對(duì)「16進(jìn)制」(0x開頭)返回 true 。數(shù)值型和字符型都可以。

實(shí)例:

var_dump(is_numeric(0x7e));
var_dump(is_numeric('0x7e'));

輸出:

bool(true)
bool(true)

繞過思路:把 '1 or 1' 這類payload轉(zhuǎn)成16進(jìn)制,再傳給 is_numeric() ,實(shí)現(xiàn)繞過。

三、科學(xué)計(jì)數(shù)法繞過

is_numeric() 會(huì)對(duì)「科學(xué)計(jì)數(shù)法」(0e開頭)返回 true 。數(shù)值型和字符型都可以。

并且,0e開頭的值,強(qiáng)制轉(zhuǎn)換成int類型后,都是1。

實(shí)例:

var_dump(is_numeric(0e123));
var_dump(is_numeric('0e123'));
echo (int)is_numeric(0e123).PHP_EOL;
echo (int)is_numeric(0e9999).PHP_EOL;
echo (int)is_numeric('0e123');

輸出:

bool(true)
bool(true)
1
1
1

繞過思路:遇到 (int)is_numeric($_GET['a']) 這類情況時(shí),可以使用傳入 0exxx 格式的參數(shù)來繞過。

四、字符串

「數(shù)字」和「字母」組合的字符串,無論是否以數(shù)字開頭,都返回 false。

實(shí)例:

var_dump(is_numeric('1a'));
var_dump(is_numeric('a1'));

輸出:

bool(false)
bool(false)

五、is_int()和is_numeric()的區(qū)別

is_int() 和 is_numeric() 都可以 “判斷變量是否為數(shù)字”。

但 is_int() 必須是「整形」才返回 true ,其他類型都返回 false;
而 is_numeric() 對(duì)「浮點(diǎn)型」 和「數(shù)值型字符串」也返回 true 。

實(shí)例:

var_dump(is_numeric(1.1));
var_dump(is_int(1.1));
var_dump(is_numeric('1'));
var_dump(is_int('1'));

輸出:

bool(true)
bool(false)
bool(true)
bool(false)

六、type_digit()和is_numeric()的區(qū)別

type_digit() 和 is_numeric() 都可以 “判斷變量是否為數(shù)字”。

但 type_digit() 只有在字符串中全是「數(shù)字」才會(huì)返回 true ,整型、浮點(diǎn)型、甚至包含正負(fù)符號(hào)的值都返回 false。
而 is_numeric() 對(duì)整型、浮點(diǎn)型、以及包含正負(fù)符號(hào)的值都返回 true 。

實(shí)例:

var_dump(is_numeric('1'));
var_dump(ctype_digit('1'));
var_dump(is_numeric(1));
var_dump(ctype_digit(1));
var_dump(is_numeric('1.1'));
var_dump(ctype_digit('1.1'));
var_dump(is_numeric('-1'));
var_dump(ctype_digit('-1'));
var_dump(is_numeric('+1'));
var_dump(ctype_digit('+1'));

輸出:

bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)

到此這篇關(guān)于PHP is_numeric()函數(shù)用法詳解的文章就介紹到這了,更多相關(guān)PHP is_numeric()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論