學習了php很久了,但是一直對php的資源轉換不太明白,看見跟java差不多,但是經過我仔細一看,發現還是有很多的不一樣,那麼我就說說php中我自己學習的心得:
一首先我們都知道php是弱類型語言?(因為任何一個變量都可以保存到一個以$開頭的變量中,所以,說php是弱類型的語言吧,但是不是說它不能規定數據類型,只是保存方式特別),數據類型?
什麼數據類型:指的是一定的數據結構與定義在數據結構上的特殊的操作組成某種數據類型。
那麼知道了php中有各種各樣的數據類,整型,整型,浮點型,字符串型,布爾型,數組型,對象型,資源型,NULL型等,簡單類型(標量數據類型),一個數據保存一個值;但是我們有時候未必對這些每個一個地方了解。為了加深自己的理解,然後總結一下:
1由於整型所能夠使用的最大存儲空間是有限制。
一個整型占用 4 個字節(byte)
一個字節 = 8 位(bit,比特)
需要使用一位表示符號,最高位(31),0為正,1為負該數可以使用php的預定義常量 PHP_INT_MAX來表示,如果該數字在繼續增加大,那麼將變成是浮點型數,
2如果你仔細觀察你會發現,最小值的絕對值,要比最大數的絕對值大一個(補碼計算機決定的,位運算時再考慮)
3.
php在定義整型數據時,支持三種進制表示方式(表示一個數,可以有三種形式--------------------十進制,八進制,十六進制
八進制:以0開頭。
十六進制:0x開頭。
十進制:常規!
強調,0或0x不是數的一部分,只是php為區分不同進制的一種語法而已!
4.手動轉換進制
規則:十進制數,除以目標進制。會得到余數和商。如果商不為零,繼續使用商除以目標進制,取得余數和商。直到商為零,此時將所有的余數,從下倒上連接即可:
程序中常用的函數
Dec,10
Bin,2
Oct,8
Hex,16
Decbin();10to2
Dechex();10 to 16
Octdec();8 to 10
5浮點數
php的浮點數,不區分單精度和雙精度,php只實現了雙精度。Php的浮點數,就是雙精度。
1)浮點數支持科學計數法表示方式
2)Php能夠表示的有效數位14位有效數字
3)浮點數的比較不能用浮點數比較
例如:
if(1-0.2==0.8){//輸出true
}
if(1-0.8==0.2){//輸出false
}
該問題的原因:
小數在被保存時,需要轉成二進制。很少有數,可以完全表示出來。
如何將小數轉換成2進制開說:
乘2,取積整數部分:
所有的浮點數,保存的都是近似值,而不是精確值。
6布爾型表示邏輯關系的真假
7.復合數據類型,一個數據保存多個值
數組、對象
8特殊類型
NULL類型