中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

復習PHP-語言參考-類型

發布時間:2020-07-10 01:40:38 來源:網絡 閱讀:438 作者:qzd1989 欄目:web開發

1. PHP內置類型有

四種標量類型 bool int float(或稱double) string

兩種復合類型 array object

兩種特殊類型 resource NULL

2.相關命令

查看類型 gettype

判斷類型 is_xxx

強制轉換類型 (xxx)變量  或者settype

獲取變量的當前類型值

xxxval();

如intval,boolval,floatval,strval

is_numeric檢測變量是否為數字或數字字符串

3.詳細介紹

-------------------------------------

bool:TRUE or FALSE

以下值被認為是FALSE

bool false

int 0

float 0.0

string “” or “0”

arrray []

NULL null或尚未被賦值的變量

從空標記生成的SimpleXML對象

其他都是TRUE(包括任何source資源)

注意:-1和其他非零值(不論正負都為TRUE)

所以可擴展為  -1>false為真

--------------------------------------

integer:集合{…-2,-1,0,1,2}中的一個數

二進制,十六進制,八進制均為int類型標量

注意:二進制表達的integer在5.4起可用

二進制 0b

八進制 0

十六進制 0x

注意:32位電腦的int占4個字節,每個字節8個單元,所以最大值為21億左右,64位為9223372036854775807,計算方式為最大的正數是 01..1 后面31個1, 結果是 2147483647,最小的負數是 10...0后面31個0, 計算方法是用補碼, 結果是 -2147483648, 而0xffffffff 是 -1

注意:如果向八進制傳遞一個非法數字(8,9)則本位以及后面的位將會被忽略(如012954)的八進制值為012,十進制值為10

注意:如果INT溢出將會被自動轉換為float類型

注意:不要將未知的分數強制轉換為int,不然結果將會不可預料

如(int) ( (0.1+0.7) * 10 )的值為7,而不是8.

--------------------------------------

float:浮點的形式有以下幾種

LNUM          [0-9]+
DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})

浮點的長度與平臺設置有關

注意:永遠不要相信浮點數結果精確到了最后一位,也永遠不要比較兩個浮點數是否相等。因為只要浮點數換算成二進制是無窮盡的,那么它的實際值是略小于它本身的,如0.1實際值為0.0999999…(二進制為0.000110011001100…),如何要比較兩浮點數是否相等,可以控制精度為小數點后XX位 如0.000001,然后將兩數相減和此極小值比較,如果小于此值,則認為在XXX位精度的情況下,這兩個浮點數是相等的。

注意:有時數學運算的結果為NaN,它代表任何不同值,所以不能用于與其他任何類型值比較(包括自身),可用is_nan判斷。

注意:INF是無窮大的意思。

--------------------------------------

string:郵一系列的字符組成,每個字符占一個字節,因此PHP只支持256的字符集,不支持unicode。

表示方式為‘’,“”,<<<‘eof’xxxeof(xxx中的變量不會被解析),<<<“eof”xxxeof(xxx中的變量可以被解析).

提示:string最大可以達到2GB。

提示:PHP_EOL代表換行。

提示:string中的變量最好用{}括起來。

{}可擴展至類靜態變量:{${beers::$ale}},{${beers::softdrink}}

提示:PHP 的字符串在內部是字節組成的數組。因此string可以被當作Array處理,每一個字符可當作一個元素。

注意:用超出字符串長度的下標寫入將會拉長該字符串并以空格填充。 如$a = "abc“ 如果操作$a[4] = “d”,那么字符串長度將會被擴展到5,下標3的位置將會以空格填充。

注意:下標必須為整數或可轉換為整數的字符串。

大部分PHP值(除了resource)可以轉變成STRING,即串行化,可用serialize來實現。

--------------------------------------

array:是一個有序映射。

5.4起用[]代替array()。

鍵名如果是合法整型值的字符串,會被轉換,“8”=8,但“08”不能被轉換,因為它不是合法的十進制。

浮點鍵名會被轉換為整型,但小數會被舍去。

布爾鍵名會被轉換為0,1。

null鍵名被轉換為“”。

數組和對象不能成為鍵名。

如果出現相同的鍵名,則后面的會覆蓋前面的。

新建,修改,刪除(unset)。

--------------------------------------

object:新建一個對象 new abc;

將其他任何類型的值轉換為對象,將會產生一個public scalar屬性,值為變量的值。(數組轉換為obj將會得到與數組結構相同的,元素都為public的對象)

--------------------------------------

resource:一種特殊變量,保存到外部資源的一個引用。

常用函數為:get_resource_type取得資源類型。

由于資源類型變量保存有為打開文件、數據庫連接、圖形畫布區域等的特殊句柄,因此將其它類型的值轉換為資源沒有意義。

自動回收,所以不必手動銷毀,但持久數據庫連接比較特殊,它不會被回收掉。

--------------------------------------

NULL:表示NULL。

被賦值為NULL,尚未被賦值,UNSET 都會得到NULL。

使用 (unset) $var 將一個變量轉換為 null 將不會刪除該變量或 unset 其值。僅是返回 NULL 值而已。

--------------------------------------

callback回調類型:call_user_func call_user_func_array 實際運用中才得知。

--------------------------------------

字符與ascii之間的轉換可用函數(C++可直接將字符轉換為INT取得節ascii碼)

ord,chr

4.類型轉換的判別

進制轉換的函數為:base_convert(值,當前進制,目標進制)

提示:如果字符串轉進制則當前進制和目標進制都一樣 如base_convert("0b11",2,2);則可轉換成二進制,但需要理解的是,轉換后的類型仍然是string,但可以進行位運算了。

如果有一個是float,則運算都轉為float。否則都是int

注意:轉換為二進制(binary)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

克山县| 宜章县| 承德县| 大渡口区| 浏阳市| 讷河市| 上虞市| 济阳县| 衢州市| 陈巴尔虎旗| 响水县| 永善县| 西华县| 崇左市| 红河县| 伊春市| 封丘县| 新乡县| 陕西省| 辛集市| 清涧县| 遂宁市| 南澳县| 岳池县| 湖北省| 沾益县| 桃园市| 保康县| 休宁县| 广西| 万山特区| 张家川| 五峰| 阜宁县| 桓仁| 牟定县| 清丰县| 定兴县| 奈曼旗| 进贤县| 怀仁县|