首頁 > 後端開發 > php教程 > 教你使用PHP函數來偵測變數的類型

教你使用PHP函數來偵測變數的類型

青灯夜游
發布: 2023-04-10 14:24:02
原創
5821 人瀏覽過

變數是PHP的核心,我們在操作變數前,都需要先弄清楚變數屬於什麼類型。那麼在PHP中要如何檢測變數類型呢?下面這篇文章就來跟大家介紹一下PHP檢測變數類型的幾個函數。

PHP中提供了許多偵測資料型別的函數,但大致可以分為兩種:gettype()函數和is_* 類別函數。下面我們透過程式碼範例來了解一下。

我們先來看看下面一個例子:

<?php
echo gettype(102) ."<br>";
echo gettype(true) ."<br>";
echo gettype(&#39; &#39;) ."<br>";
echo gettype(null) ."<br>";
echo gettype(array()) ."<br>";
echo gettype(new stdclass());
?>
登入後複製

看看輸出結果:

教你使用PHP函數來偵測變數的類型

gettype()函數可以取得並傳回變數的類型,傳回值可以為:

  • boolean

  • integer

  • #double(從PHP 4 起,如果是float 就回傳“double”,而不是“float”了) 

  • #string

  • array

  • #object


  • ##resource(資源)

    resource是一種特殊的變數類型,保存了到外部資源的一個引用;它主要描述一個PHP 的擴展資源。 resource(資源)是透過專門的函數來建立和使用的。


  • NULL

    NULL 也是特殊的資料型,它只有一個值,即NULL,表示空值(即變數沒有值)。

unknown type

#gettype()函數由於包含了字串的比較,因此執行是較慢的。除了這個函數外,我們還可以使用教你使用PHP函數來偵測變數的類型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 = &#39;654321&#39;;
$float = 3.1415926;
$str3 = &#39;hello!&#39;;
class foo {
	function dosomething() {
		echo "你好!";
	}

}

$obj = new foo();
if (is_array($arr))
	echo &#39;$arr 是数组&#39;;
echo &#39;<br>&#39;;
if (!is_array($num1))
	echo &#39;$num1 不是数组&#39;;
echo &#39;<br>&#39;;
if (is_numeric($str2))
	echo &#39;$str2 是数字&#39;;
echo &#39;<br>&#39;;
if (is_bool($bool))
	echo &#39;$bool 是数字&#39;;
echo &#39;<br>&#39;;
if (is_float($float))
	echo &#39;$float 是浮点类型&#39;;
echo &#39;<br>&#39;;
if (!is_float($str2))
	echo &#39;$str2 不是浮点类型&#39;;
echo &#39;<br>&#39;;
if (is_int($num1))
	echo &#39;$num1 是整数类型&#39;;
echo &#39;<br>&#39;;
if (!is_int($float))
	echo &#39;$float 不是整数类型&#39;;
echo &#39;<br>&#39;;
if (is_string($str2))
	echo &#39;$str2 是字符串&#39;;
echo &#39;<br>&#39;;
if (is_object($obj))
	echo &#39;$obj 是一个对象&#39;;
echo &#39;<br>&#39;;
if (!isset($str1))
	echo &#39;$str1 未定义或则值为 NULL&#39;;
?>
登入後複製
看看輸出結果: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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板