變數是PHP的核心,我們在操作變數前,都需要先弄清楚變數屬於什麼類型。那麼在PHP中要如何檢測變數類型呢?下面這篇文章就來跟大家介紹一下PHP檢測變數類型的幾個函數。
PHP中提供了許多偵測資料型別的函數,但大致可以分為兩種:gettype()函數和is_*
類別函數。下面我們透過程式碼範例來了解一下。
我們先來看看下面一個例子:
<?php echo gettype(102) ."<br>"; echo gettype(true) ."<br>"; echo gettype(' ') ."<br>"; echo gettype(null) ."<br>"; echo gettype(array()) ."<br>"; echo gettype(new stdclass()); ?>
看看輸出結果:
gettype()函數可以取得並傳回變數的類型,傳回值可以為:
boolean
integer
#double
(從PHP 4 起,如果是float 就回傳“double”,而不是“float”了)
#string
array
#object
##resource(資源)
NULL
#gettype()函數由於包含了字串的比較,因此執行是較慢的。除了這個函數外,我們還可以使用is_*
系列函數來偵測變數的型別。 我們來看看下面一個例子:<?php header("Content-type:text/html;charset=utf-8"); $num1 = 123456; $arr = array(1, 2, 3, 4, 5, 6, 7); $bool = false; $str1 = NULL; $str2 = '654321'; $float = 3.1415926; $str3 = 'hello!'; class foo { function dosomething() { echo "你好!"; } } $obj = new foo(); if (is_array($arr)) echo '$arr 是数组'; echo '<br>'; if (!is_array($num1)) echo '$num1 不是数组'; echo '<br>'; if (is_numeric($str2)) echo '$str2 是数字'; echo '<br>'; if (is_bool($bool)) echo '$bool 是数字'; echo '<br>'; if (is_float($float)) echo '$float 是浮点类型'; echo '<br>'; if (!is_float($str2)) echo '$str2 不是浮点类型'; echo '<br>'; if (is_int($num1)) echo '$num1 是整数类型'; echo '<br>'; if (!is_int($float)) echo '$float 不是整数类型'; echo '<br>'; if (is_string($str2)) echo '$str2 是字符串'; echo '<br>'; if (is_object($obj)) echo '$obj 是一个对象'; echo '<br>'; if (!isset($str1)) echo '$str1 未定义或则值为 NULL'; ?>
看看輸出結果:
is_* 系列中多個作用不同的函數,可以利用這些函數來分別檢查變數的資料型態。下面我們來看看常用的幾個檢查函數:1、is_int():偵測變數$var
是否為整數型別(integer),如果$var
是則回傳TRUE,否則回傳FALSE;語法“is_int($var)
”,別名為is_integer()。
2、is_float():偵測變數$var
是否為浮點型,如果$var
是則回傳TRUE,否則回傳FALSE;語法「is_float($var)
”,別名為is_real()。
3、is_string():偵測變數$var
是否為字串型,如果$var
是則傳回TRUE,否則傳回FALSE;語法「is_string($var)
」。
4、is_array():偵測變數$var
是否為數組,如果$var
是則傳回TRUE,否則傳回FALSE;語法「is_array ($var)
」。
5、is_object():偵測變數$var
是否是一個對象,如果$var
是則傳回TRUE,否則傳回FALSE;語法「 is_object($var)
」。
6、is_numeric():偵測變數$var是否為數字或數字字串,如果
$var是則傳回TRUE,否則傳回FALSE;語法“ is_numeric($var)」。
###好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →###php影片教學#########最後推薦給大家一個PHP陣列的免費影片教學:###PHP函數之array陣列函數影片講解###,快來學習吧! ###以上是教你使用PHP函數來偵測變數的類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!