與其他語言不同,PHP不是嚴格的類型語言。基本上,這意味著開發者在使用一個變數前,不必明確地設定這個變數的類型(數字、字串、布林值)。相反,PHP解釋程式根據儲存在變數中的信息自動探測變數的類型
雖然這一特點使用PHP程式設計非常容易,但它也存在一個重要的缺陷:當你需要測試一個變數的類型時,處理類型比較鬆散的語言就讓人有些迷惑。幸運地是,PHP的開發者註意到這種情況,因此在其中包含了一個函數工具包,特別用它來測試變數並找出它們屬於哪個特定的字元類別別——也是說,它們是否包含字串、整數、物件或布林值。
下面列出了這一類別中較為有用的函數,並提供說明與應用實例。
empty($var)
這個函數用來檢查變數是否為空(沒有值或零值)。用此函數來檢查使用者輸入,例如,表格變數。保證它們包含有效數據。
<?php // returns false $var = "hello"; echo empty($var) ? "true" : "false"; // returns true $var = 0000; echo empty ($var) ? "true" : "false"; ?>
gettype($var)
這個函數傳回變數的型別。例如,"字串"、"整數"、"布林值"、"浮點值"等。在把變數插入嚴格類型的資料庫域前,一般會用此函數來驗證變數是否為你預期的類型。
<?php // returns string $var = "hello"; echo gettype($var); //returns double $var = 1000.56; echo gettype($var); ?>
is_bool($var)
這個函數測試一個變數看它是否包含一個布林值(真/假)。用此函數檢查變數是否為布林變數。
<?php // returns true $var = false; echo is_bool($var) ? "true" : "false"; ?>
is_string($var)
這個函數測試一個變數是否為字串變數。用此函數檢查一個變數是否包含字串資料。
<?php // returns true $var = "exception"; echo is_string($var) ? "true" : "false"; // returns true $var = "88408"; echo is_string($var) ? "true" : "false"; ?>
is_numeric($var)
這個函數測試一個變數看它是否包含一個數字或數字字串(字串包含一個符號、數字與小數點)。在將變數用於計算之前,用此函數來驗證它是否包含一個數字。
<?php // returns true $var = "+99.766"; echo is_numeric($var) ? "true" : "false"; // returns false $var = "b00"; echo is_numeric($var) ? "true" : "false"; ?>
is_array($var)
這個函數測試一個變數看它是一個PHP相關或是數字順序索引陣列。在迴圈中進行處理前,用此函數來檢查變數是否為一個陣列。
<?php // returns true $var = array("tiger", "lion", "zebra"); echo is_array($var) ? "true" : "false"; // returns false $var = "zebra"; echo is_array($var) ? "true" : "false"; ?>
is_null($var)
這個函數測試一個變數看它是否為NULL。在評估由SQL查詢傳回的資料時,用此函數來檢查一個變數是否為NULL。
<?php // returns false $var = "aa"; echo is_null($var) ? "true" : "false"; // returns true $var = null; echo is_null($var) ? "true" : "false"; ?>
is_object($var)
這個函數測試一個變數看它是否為一個PHP物件。在呼叫一個方法或存取屬性前,一般會用此函數來測試變數是否為PHP物件。
<?php // returns false $var = "exception"; echo is_object($var) ? "true" : "false"; // returns true $var = new Exception; echo is_object($var) ? "true" : "false"; ?>
isset($var)
這個函數測試一個變數看它是否已被定義。在評估表格提交的結果時,一般會用此函數來測試一個變數是否被定義。
<?php // returns true $var = "yes"; echo isset($var) ? "true" : "false"; // returns false echo isset($test) ? "true" : "false"; ?>
print_r($var)
這個函數印出一個變數的內容。用此函數來"窺探"一個變量,特別是在調試一個腳本時。
<?php $var = array("one", "two", array("red", "green"), new Exception, 467); print_r($var); ?>
以上是對php變數進行判斷的函數用法總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!