1. 程式人生 > >PHP檢視和判斷資料型別

PHP檢視和判斷資料型別

檢視資料型別

  1. gettype(傳入一個變數) 能夠獲得變數的型別
  2. var_dump(傳入一個變數) 輸出變型別和值
<?php
 //宣告一個變數88.8,你可以自己多做幾次實驗換成其他型別看看$type輸出是多少
 $float = 88.8;
 $type = gettype($float);
 echo $type;

 //多換幾個型別試試
 $str = '你喜歡尊上還是喜歡殺仟陌?';
 var_dump($str);

判斷資料型別

我們使用is_* 系列函式。 is_types這一系列的函式,來進行判斷某個東西是不是某個型別。如果是這個型別返回真,不是這個型別返回假。

函式 解析
is_int 是否為整型
is_bool 是否為布林
is_float 是否是浮點
is_string 是否是字串
is_array 是否是陣列
is_object 是否是物件
is_null 是否為空
is_resource 是否為資源
is_scalar 是否為標量
is_numeric 是否為數值型別
is_callable 是否為函式
<?php
//is_* 系列函式有個特點,就是如果是這個型別就返回的是真。不是這個資料型別就返回的是假
//宣告型別為假
$fo = false;

if(is_bool($fo)){
    echo '執行真區間';
}else{
    echo '執行假區間';
}

//檢查未宣告的變數$p是否為空,為空就執行真區間
if(is_null($p)){
    echo '執行真區間';
}else{
    echo '執行假區間';
}

//字串型別的數值,看看執行的是真還是假
$str = '18.8';
if(is_numeric($str)){
    echo '執行真區間';
}else{
    echo '執行假區間';
}


//把sca的值換成整型、浮點、布林和字串試試
$sca = true;
//如果為標量,執行真區間
if(is_scalar($sca)){
    echo '執行真區間';
}else{
    echo '執行假區間';
}

//換成echo,is_int試試,為什麼echo執行假區間呢?
if(is_callable('var_dump')){
    echo '執行真區間';
}else{
    echo '執行假區間';
}

注:istypes 很好記。is 在前後面跟型別即可。

標量:整型(int) 浮點(float)、布林(bool)、字串(string)

混合型別: 陣列(array)、物件(object)

特殊型別:空(null)、 資源(resouce)、回撥(callback)

為什麼最後的實驗中echo執行假區間呢? 答:因為echo 不是函式,是基本語法。大家眼前可以不用理解函式和基本語法的區別。瞭解和不瞭解在實際開發中沒有影響。知道有這個知識點就行。