php判斷變數型別常用方法

2022-05-14 02:01:50 字數 1809 閱讀 1514

php 判斷變數型別常用的函式主要有下列幾個:

gettype()、is_array()、is_bool()、is_float()、is_double()、is_integer()、is_null()、is_numeric()、is_object()、is_resource()、is_scalar() 和 is_string()

現在讓我們了解下他們的具體的使用方法

gettype() 返回 php

變數的型別,返回的字串的可能值為以下幾種:

boolean(從 php 4 起)

integer

double(由於歷史原因,如果是 float 則返回double,而不是float)

string

array

object

resource(從 php 4 起)

null(從 php 4 起)

user function(只用於 php 3,現已停用)

unknown type

注意:對於 php 4及以上,你應該使用 function_exists() 和 method_exists() 取代先前將 gettype() 作用於函式的用法

這個函式

大家應該很少用,其實對於這個函式也盡量不要用。php手冊的建議是:不要使用 gettype() 來測試某種型別,因為其返回的字串在未來的版本中可能需要改變。此外,由於包含了字串的比較,它的執行也是較慢的,所以盡量使用 is_* 函式代替。

is_array() 判斷是否是陣列

,返回值為true或者false。

is_bool() 判斷是否是boolean型別的變數,返回值為true或者false

is_float() 判斷是否是浮點型別的變數,返回值為true或者false。注意:這裡是檢查資料

型別的,浮點數字型變數和浮點數字串型別的變數返回的結果是不一樣的。

is_double 判斷變數型別是否為倍浮點數型別,返回值為true或者false。這個基本同 is_float 一樣,主要區別就是在小數點後面數字長度達到一定長度後,is_float 可能返回false,而 is_double 會依舊返回 true;

is_integer() 此函式是 is_int() 的別名函式,判斷是否是整數型別的變數,返回值為true或者false。注意:對於正整數,負整數和0的數字型別變數,該函式都返回true,其他都返回空(包括字串型別的整數);

is_null() 判斷是否為null,返回值為true或者false。注意這裡不是空,只有被判斷的值為大小寫不敏感的null的時候,才會返回true,對於'',0或者'0'他都將返回false;那麼在php裡面乙個變數什麼時候才會被認為是null的呢?

(1)被賦值為 null。

(2)尚未被賦值。

(3)被 unset()。

is_numeric() 判斷是否是數字,返回值為true或者false。這個函式判斷條件非常寬鬆,只要是數字,無論你是字串型別的,還是數字型別,無論是正的,負的,0,還是浮點數,都將返回true。其他則返回false。

is_object() 檢測變數是否是乙個物件,返回值為true或者false。

is_resource() 用於檢測變數是否為資源型別,返回值為true或者false。

is_scalar() 檢測變數是否是乙個標量,返回值為true或者false。

is_string() 檢測變數是否是字串

型別,返回值為true或者false。這裡可以理解為他只檢測型別,即使乙個變數為空,只要是字串型別,他也會返回 true;

php判斷變數型別

其中gettype 函式返回變數的型別,如 boolean integer double float型別會返回 double 而非 float string array object resource null 和 unknown type 等值,表明變數型別 標量變數是指那些包含了 integer...

php判斷變數型別

gettype 函式 gettype 1 返回的是integer is array is系列函式empty 0 0 null false array var var 未定義 以及沒有任何屬性的物件都將被認為是空的 isset 如果 變數 存在 非null 則返回 true is null 檢測傳入值...

php 判斷 設定變數型別

php判斷變數型別常用的函式 gettype settype is array is bool is float is double is integer is null is numeric is object is resource is scalar is string 現在我們來了解一下他們...