php 在變數定義中不需要(或不支援)明確的型別定義;變數型別是根據使用該變數的上下文所決定的。
+ 運算子自動向高精度轉換
$str
='abc'
;// str
$str
=123
;// int
$str
=array(1
,2,3
);// array
$str
=false
;// bool
// 在運算時,資料型別會自動向高精度轉換$a=
10;$b=
true
;$num=$a
+$b;// int 11
$num=$a
+$b+0.1
;// float 11.1
根據上下文自動轉換
// 字串到數字的轉換,從左到右擷取,直到碰到不合法的數字,截取出的部分轉成數字
// 算數運算子,根據上下文先將$a轉為float,即$a=12.3,然後運算$a=
"12.3hello99";$a
=$a+3
;var_dump($a
);// float 15.3
// 字串運算子,數字到字串的轉換
// 字串運算子,根據上下文先將$a轉為string,然後運算$a=
123;$a=
$a."hello"
;var_dump($a
);// string '123hello'
// == 運算子,字串到數字的轉換$a=
1;$b=
'1***'
;// == 比較時 型別轉換 $b=1
var_dump($a
==$b);
// boolean true
var_dump($a
===$b);
// boolean false$a=
0;$b=
'***'
;// == 比較時 型別轉換 $b=0
var_dump($a
==$b);
// boolean true
var_dump($a
===$b);
// boolean false
//到布林型的判斷,以下值都被當作假
""(空字串)
0(作為整數的0
)0.0
(作為浮點數的0
)"0"
(作為字串的0
)null
false
array()
(乙個空陣列)
方式1:settype — 設定變數的型別 link
//type的值可能為:'bool' 'int ' 'float' 'string' 'array' 'object' 'null'
$num
='10.1b'
;//很少有,也記不住,自行測試
//$num = true;
//$num = null;
//$num = array('a'=>1);
settype
($num
,'float');
var_dump
($num);
// float 10.1
settype
($num
,'int');
var_dump
($num);
// int 10
settype
($num
,'string');
var_dump
($num);
// string '10.1b'
settype
($num
,'array');
var_dump
($num);
// array ([0] => 10.1)
settype
($num
,'object');
var_dump
($num);
// object(stdclass)[1] public '0' => float 10.1
settype
($num
,'null');
var_dump
($num);
// null
方式2: (型別)變數的方式
//()中的值可能為:bool int float string array object unset
$num
=100;$a
=(string)
$num
;var_dump
($num,$a
);// int 100, string '100'
方式3: intval() boolval() 等函式
// intval floatval strval boolval 這幾個函式
$num
=100;$a
=floatval
($num);
var_dump
($num,$a
);// int 100, float 100
小結三種方式的區別及使用 一 PHP語言基礎 資料型別 轉換資料型別
轉換資料型別 方法一 php中的型別轉換和c語言一樣,非常簡單,在變數前加上括號括起來的型別名稱即可。允許轉換的型別如下 boolean 轉換成布林型 string 轉換字串型 integer 轉換成整型 float 轉換成浮點型 array 轉換成陣列型 object 轉換成物件 下面將乙個字串變...
PHP資料型別轉換
php資料型別轉換 php的資料型別轉換屬於強制轉換,允許轉換的php資料型別有 int integer 轉換成整形 float double real 轉換成浮點型 string 轉換成字串 bool boolean 轉換成布林型別 array 轉換成陣列 object 轉換成物件 php資料型別...
PHP資料型別轉換
php的資料型別轉換屬於強制轉換,允許轉換的php資料型別有 php資料型別有三種轉換方式 第一種轉換方式 int bool float string array object num1 3.14 num2 int num1 var dump num1 輸出float 3.14 var dump n...