php 判斷資料型別 自動 強制 型別轉換

2021-08-29 09:35:24 字數 2601 閱讀 9726

使用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 是否為函式

is_* 系列函式有個特點,就是如果是這個型別就返回的是真。不是這個資料型別就返回的是假

$fo = false;

if(is_bool($fo))else

//檢查未宣告的變數$p是否為空,為空就執行真區間

if(is_null($p))else

echo "";

//字串型別的數值,看看執行的是真還是假

$str = '18.8';

if(is_numeric($str))else

echo "

"; //把sca的值換成整型、浮點、布林和字串試試

$sca = true;

//如果為標量,執行真區間

if(is_scalar($sca))else

echo "

"; //換成echo,is_int試試,為什麼echo執行假區間呢?

型別轉換:

<?php 

//布林變整型參與運算

$num = true;

$result = $num + 10;

//$result 結果為整型的11,因為$fo 被強制轉換為 1 來進行運算了

//如果$fo的值為0

var_dump($result);

//空字串、空陣列、null 都為false

//字串型別

$str = '249字串';

$result = $str + 1;

//結果為250。因為將$str變為了整型的249來進行運算,不過必須是第一位,放在其他位置上就沒有用了。

var_dump($result);

//強調下,雖然這麼做,目前執行出來的結果沒有什麼問題,但是如果在專案中很有可能給後期留下很大隱患,

盡量用同型別的來進行各種運算比較好!!!

強制型別轉換有三種方式: 1、 intval()、floatval()、strval()

<?php 

$float = 1.23;

$result = intval($float);

//看看結果是不是變了?

var_dump($result);

//整型的5

$yabozi = 5;

$re = floatval($yabozi);

var_dump($re);

//定義整型的變數

$yabozi = 23;

$bian = strval($yabozi);

//強制變成字串試試

var_dump($bian);

?>

2、變數前加上()裡面寫上型別,將它轉換後賦值給其他變數

<?php 

//定義乙個變數,我們來變化一下試試

$transfer = 12.8;

//把浮點變為整型

$jieguo = (int)$transfer;

var_dump($jieguo);

//把浮點變為布林

$jieguo = (bool) $transfer;

var_dump($jieguo);

//把布林變整型

$bool = true;

$jieguo = (int)$bool;

var_dump($jieguo);

//把浮點變陣列

$fo = 250;

$jieguo = (array)$fo;

var_dump($jieguo);

//其他的操作方式,按照文字總結的規律你來試試

?>

3、settype(變數,型別) 直接改變量本身

<?php 

//定義浮點變為整型

$fo = 250.18;

//settype第二個引數是int,你實驗的時候要記得第二個引數要為字串型別

settype($fo,'int');

//輸出看看結果

var_dump($fo);

?>

php 判斷資料型別

資料型別判斷 分散的方法 isset 變數是否已經宣告 empty 變數是否為空 defined 常量是否已經定義 define array key exists mixed key,array search 檢查給定的鍵名或索引是否存在於陣列中 is numeric mixed var 檢測變數是...

PHP 判斷資料型別

isset 變數是否已經宣告 empty 變數是否為空 defined 常量是否已經定義 define array key exists mixed key,array search 檢查給定的鍵名或索引是否存在於陣列中 is numeric mixed var 檢測變數是 否為數字或數字字串 is...

PHP 判斷資料型別

isset 變數是否已經宣告 empty 變數是否為空 defined 常量是否已經定義 define array key exists mixed key,array search 檢查給定的鍵名或索引是否存在於陣列中 is numeric mixed var 檢測變數是 否為數字或數字字串 is...