php轉換數字類型有:1、自動型別轉換,字串轉換為數字,整數轉換為浮點數,浮點數轉換為整數捨去小數點,null值轉換為字串;2、強型別轉換,【intval()】轉換為整數,【floatval()】轉換為浮點數。
php轉換數字型有:
PHP屬於弱型別語言,不像java,C 等語言是強型別語言,差別在於,弱型別的語言是自動轉換數
據型,強型別語言必須手動宣告型別。
1)自動型別轉換,五種資料型,標量中的四個型別和null都可以透過運算自動轉換型別。
布林值參與運算
true ---> 1 false ---> 0
#字串和數字運算,字串先轉換為數字在運算。
字串轉換為數字,從前開始到第一個不是數字的字元結束(不符合的內容清空)。
整數型轉換為浮點數 ,精確度不會改變。
浮點數轉換為整數型捨去小數點,保留整數部分。
如果浮點數超出整數範圍,答案不確定。
null 值轉換為字串,是空字串。
//bool to int var_dump(true + 1);//2 true->1 var_dump(false + 1);//1 false->0 var_dump(null + 1);// 1 null-> 0 echo '<hr/>'; // bool to float var_dump(true + 1.0);// float 2 var_dump(false + 1.0);// float 1 var_dump(null + 1.0);// float 1 echo '<hr/>'; //string to int var_dump('123' + 1);//124 '123'->123 var_dump('abc123' + 1);//1 'abc123'->0 var_dump('123abcdefggggggggggg;8000' + 1);//124 var_dump('a123' + 1);//1 var_dump('1a123' + 1);//2 //php7.0版本所有进制都不转 var_dump('077abc'+1);// 78 077->77 八进制不转换 var_dump('0b11abc'+1);//1 //0b 不转换 var_dump('0xffhsahahhahah'+1);//1 0x不转换 //php 5.6以下都会转换为 0xff->255 echo '<hr/>'; //string to float var_dump('1.234abcdef'+ 1.0);//2.234 var_dump('1.234E3'+1.0);//1235 var_dump('1e5'+1.0);//2 100001 var_dump('1E-5'+1.0);//1.00001
2)強型別轉換
#使用括號加目標型別轉換
(int)(integer) (bool)(boolean) (float)(real) (string) (array) (object)
使用型別轉換函數
settype()
永久轉換類型的函數(重點)
第一個參數你要改變類型的變數
第二個參數你要改變的型別名intval()
轉換成整數floatval()
轉換為浮點數strval()
轉換為字串
<?php $a = 1; var_dump($a); var_dump((int)$a); var_dump((integer)$a); var_dump((bool)$a); var_dump((float)$a); var_dump((real)$a); var_dump((string)$a); var_dump((array)$a); var_dump((object)$a); var_dump($a); var_dump($a); var_dump($a); var_dump($a); var_dump($a); echo '<hr/>'; $b = 100; var_dump($b); //下面函数是永久有效的类型转换 settype($b,'string'); var_dump($b); var_dump($b); var_dump($b); var_dump($b); var_dump($b); var_dump($b); echo '<hr/>'; //下⾯的函数也是当次有效 和最开始的强制类型转换一样 只不过语法不同而已 $m = 200; var_dump(intval($m)); var_dump(floatval($m)); var_dump(strval($m)); var_dump($m); var_dump($m); var_dump($m);
#相關學習推薦:PHP程式設計從入門到精通
以上是php轉換數字類型有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!