php心得記錄第一篇 : 如何轉換變數型別
介紹:
var_dump : 是一個能判斷變量的型別、值、長度的方法
如何使用 : var_dump(變數名)
網頁上輸出會是這樣 : 變數型別(字串長度) "值" or 變數型別(值)
例如:
//變數是整數型別舉例
$a = 50;
var_dump($a);
會輸出 int(50),為什麼沒有長度呢 ? 因為變數a是整數型別,不是字串型別!!!
例如:
//變數是字串型別舉例
$b = "hello";
var_dump($b);
會輸出string(4) hello,這時候就有長度了! 因為變數b是字串喔~
is_型別(變數名) : 用來判斷是否為那個型別,是傳回True,不是的話傳回False
舉例 : is_int、is_string、is_bool、is_float
如何使用: is_string(變數名)、is_int(變數名),....以此類推
例如:
//我想知道$c是否為整數
//我想知道$c是否為整數
$c = 145;
//c是整數嗎? 是輸出true,不是輸出false
echo is_int($c);
會輸出true ,因為是變數c是整數型別
例如:
//我想知道$c是否為字串
$c = 145;
//c是字串嗎? 是輸出true,不是輸出false
echo is_string($c);
會輸出false ,因為是變數c是整數型別
gettype() : 用來判斷變量型別,並回傳變量型別
如何使用 : gettype(變量名)
例如:
//我想知道$d是什麼型別
//我想知道$d是什麼型別
$d = 145;
echo get_type($d);
會輸出int ,因為是變數d是整數型別
強制轉換 : (要轉換的型別)變數名
如何使用 : 強制轉換成int型別,就(int)變數名,強制轉換成string型別,就(string)變數名
定義 : 你強制轉換了一個原本是字串的變數變成整數,但是那個變數本身的型別還是沒變,只是在轉換那一行程式碼變了型態而已
例如 :
//<br/>是html換行標籤
$c = "123"
echo '<br/>強制轉換範例: <br/>';
echo "原來的c型別: ".gettype($c)."<br/>"; //會輸出 原來的c型別: string
echo "強制轉換後的c: ",(gettype((int)$c)),"<br/>"; //會輸出 強制轉換後的c: int
echo "但是原來c的型別還是沒改變: ",gettype($c),"<br/>";
//最後一行會輸出 但是原來c的型別還是沒改變:int
那想要轉換型態過後,就永遠是那個型態,那要怎麼做?
就使用settype(變數名,想轉換的變數型態)~~~~
settype(變量名,型別),將變量轉換型別,不是強制轉換,是把原來的變數型別整個轉換
如何使用 : settype(變數名,型別)
例如 :
//<br/>是html換行標籤
$d = "123.6";
echo '<br/>使用settype轉換範例: <br/>';
echo "原本的d型別: ".gettype($d)."<br/>"; //會輸出 原本的d型別: string
settype($d,'float'); //把d型別從string轉換成int
echo "settype方法改變後的型別: ".gettype($d)."<br/>"; //會輸出 settype方法改變後的型別: : int
echo "d最後的型別: ".gettype($d)."<br/>"; //會輸出 d最後的型別: : : int
網頁畫面呈現 :
程式碼 :
<?php
$a = "123";
$b = 456;
# var_dump 是一個能判斷變量的型別、值、長度的結構,ex: string(2) "12" 或者 bool(false)
# var_dump 不用echo 就會出現在網頁上
# is_型別(變量名),用來判斷是否為那個型別,是傳回True,不是的話傳回False, ex: is_int、is_string、is_bool、is_float
echo '<br/>var_dump(is_set($a))跑出來的結果: ';
echo var_dump(is_int($a));
echo "<br/>";
#過程: var_dump(is_int($a)); ==> var_dump(false) ==> 最後輸出結果: bool(false)
echo 'var_dump($a)跑出來的結果: ';
var_dump($a);
echo "<hr></hr>";
# gettype(變量名),判斷變量型別,並回傳變量型別
var_dump($b);
echo "<br/>";
echo '$b的型別: '.gettype($b);
echo "<br/>";
# 強制轉換: 假如$c ="123",string型別,那我要把$c強制轉換成,int型別,就(int)$c
$c = "123";
echo '<br/>強制轉換範例: <br/>';
echo "原來的c型別: ".gettype($c)."<br/>";
echo "強制轉換後的c: ",(gettype((int)$c)),"<br/>";
echo "但是原來c的型別還是沒改變: ",gettype($c),"<br/>";
# settype(變量名,型別),將變量轉換型別,不是強制轉換,是把原來的變數型別整個轉換
$d = "123.6";
echo '<br/>使用settype轉換範例: <br/>';
echo "原本的d型別: ".gettype($d)."<br/>";
settype($d,'float');
echo "settype方法改變後的型別: ".gettype($d)."<br/>";
echo "d最後的型別: ".gettype($d)."<br/>";
?>
留言
張貼留言