php數據類型轉換
阿新 • • 發佈:2018-12-18
nbsp 自動轉換 lse ech 不同 col 空字符 ray dump
PHP屬於弱類型語言,不像java,C++等語言是強類型語言,區別在於,弱類型的語言是自動轉換數
據類型,強類型語言必須手動聲明類型。
1)自動類型轉換,五種數據類型,標量中的四個類型和null都可以通過運算自動轉換類型。
布爾值參與運算
1 true ---> 1 false ---> 0
字符串和數字運算,字符串先轉換為數字在運算。
字符串轉換為數字,從前開始到第一個不是數字的字符結束(不符合的內容清空)。
整型轉換為浮點數 ,精度不改變。
浮點數轉換為整型舍去小數點,保留整數部分。
如果浮點數超出整數範圍,答案不確定。
null 值轉換為字符串,是空字符串。
1 //bool to int2 var_dump(true + 1);//2 true->1 3 var_dump(false + 1);//1 false->0 4 var_dump(null + 1);// 1 null-> 0 5 echo ‘<hr/>‘; 6 7 8 // bool to float 9 var_dump(true + 1.0);// float 2 10 var_dump(false + 1.0);// float 1 var_dump(null + 1.0);// float 1 11 echo ‘<hr/>‘; 12 13 //string to int 14 var_dump(‘123‘ + 1);//124 ‘123‘->123 15 var_dump(‘abc123‘ + 1);//1 ‘abc123‘->0 16 var_dump(‘123abcdefggggggggggg;8000‘ + 1);//124 17 var_dump(‘a123‘ + 1);//1 18 var_dump(‘1a123‘ + 1);//2 19 20 //php7.0版本所有進制都不轉 21 var_dump(‘077abc‘+1);// 78 077->77 八進制不轉換 22 var_dump(‘0b11abc‘+1);//1 //0b 不轉換 23 var_dump(‘0xffhsahahhahah‘+1);//1 0x不轉換 24 //php 5.6以下都會轉換為 0xff->255 25 26 echo ‘<hr/>‘; 27 //string to float 28 var_dump(‘1.234abcdef‘+ 1.0);//2.234 29 var_dump(‘1.234E3‘+1.0);//1235 30 var_dump(‘1e5‘+1.0);//2 100001 31 var_dump(‘1E-5‘+1.0);//1.00001
2)強類型轉換
使用括號加目標類型進行轉換
1 (int)(integer) 2 (bool)(boolean) 3 (float)(real) 4 (string) 5 (array) 6 (object)
使用類型轉換函數
settype() 永久轉換類型的函數(重點)
第一個參數 你要改變類型的變量
第二個參數 你要改變的類型名
intval() 轉換為整型
floatval() 轉換為浮點數
strval() 轉換為字符串
1 <?php 2 $a = 1; 3 var_dump($a); 4 var_dump((int)$a); 5 var_dump((integer)$a); 6 var_dump((bool)$a); 7 var_dump((float)$a); 8 var_dump((real)$a); 9 var_dump((string)$a); 10 var_dump((array)$a); 11 var_dump((object)$a); 12 var_dump($a); 13 var_dump($a); 14 var_dump($a); 15 var_dump($a); 16 var_dump($a); 17 echo ‘<hr/>‘; 18 $b = 100; 19 var_dump($b); 20 //下面函數是永久有效的類型轉換 21 settype($b,‘string‘); 22 var_dump($b); 23 var_dump($b); 24 var_dump($b); 25 var_dump($b); 26 var_dump($b); 27 var_dump($b); 28 echo ‘<hr/>‘; 29 //下?的函數也是當次有效 和最開始的強制類型轉換一樣 只不過語法不同而已 30 $m = 200; 31 var_dump(intval($m)); 32 var_dump(floatval($m)); 33 var_dump(strval($m)); 34 var_dump($m); 35 var_dump($m); 36 var_dump($m);
php數據類型轉換