bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

php語言參考-數據類型-創新互聯

1.類型介紹:

目前成都創新互聯已為上千的企業提供了網站建設、域名、網站空間、網站托管、服務器租用、企業網站設計、正藍網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

php支持8種原始類型

四種標量類型

。布爾型boolean

。×××(integer)

。浮點型(float)(浮點數,也做double)

。字符串(string)

兩種復合類型

。數組(array)

。對象(object)

最后是兩種特殊類型

。資源(resource)

。null

為了確保代碼的易讀性,本手冊還介紹了一些偽類型

。混合(mixed)

。數字(number)

。回饋(callback)

你可能還會讀到一些關于雙精度double類型的參考。實際上double和float是相同的,由于一些歷史原因這兩個名詞同時存在

變量的類型通常不是由程序員設定的,確切的說是有php根據該變量使用的上線問運行時決定的

 注:如果你想查看某個表達式的值和類型,用var_dump()。

 注:如果你只想看到一個以讀懂的類型的表達方式用于調試,用gettype().要查看某個類型,不要用gettype(),而用is_type()函數,以下是一些范例:

<?php $bool=TRUE;//a boolean $str="foo";//a string $int=12;//an integer echo gettype($bool);//prints out "boolean" echo gettype($str);//print out "string" //If this is an integer, increment it by four if(is_int($int)) {   $int+=4; } //If $bool is a string,print it out //(does not print out anything) if(is_string($bool)) {    echo "String:$bool"; } ?>

 如果你要將一個變量強制轉換成某類型,可以對其使用強制轉換或者settype()函數。

注意變量很據當時的類型在特定場合下會表現出不同的值。更多類型件類型戲法。此外你還可以參考 php類型比較表 看不同類型相互比較的例子。

2。布爾型

這是最簡單的類型。boolean 表達了真值。可以為true或者false

    注:布爾類型是php4引進的

語法

要制定一個布爾值,使用關鍵字true或者false,兩個都是大小寫不敏感的

<?php

$foo=True;//assign the value TRUE to $foo

?>

通常你用某些運算符返回boolean值,并將其傳遞給流程控制

//==is an operator which test //equality and returns a boolean if($action=="show_version"){ echo "The version is 1.23"; } //this is not necessary... if($show+separators==true){   echo "<hr>\n"; } //...because you can simply type if($show_separators){   echo "<hr>\n"; }

 轉換成布爾值

要明示地將一個值轉換成boolean,用bool或者boolean來強制轉換。但是很多情況下不需要強制轉換,因為當運算符,函數或者流程控制需要一個boolean參數時,該值會被自動轉換。

參見類型戲法

當轉換成boolean時,以下值被認為是false

。布爾值false

。整型值 0(零)

。浮點型值0.0(零)

。空白字符串和字符串“0”

。沒有成員變量的數組

。沒有單元的對象

。特殊類型null(包括尚未定義的變量)

所有其他值都被認為是true(包括任何資源)

警告:

-1和其他非零值(不論正負)一樣,被認為是true

<?php echo gettype((bool)"");//bool(false) echo gettype((bool)1);//bool(true) echo gettype((bool)-2);//bool(true) echo gettyope((bool)"foo");//bool(true) echo gettype((bool)2.3e5);//bool(true) echo gettype((bool)array(12));//bool(true) echo gettype((bool)array());//bool(false) ?>

 3.×××

一個integer是集合Z={...,-2,-1,0,1,2,...}中的一個數。

參見任意長度證書/GMP,浮點數 和任意精度數學庫/BCMath

語法

整型值可以用10進制,16進制或8進制符號指定,前面可以加上可選的符號(—或者+)

如果用8進制符號,數字前必須加上0,用16進制符號數字前必須加上0x

例子 6-1 整數文字表達

<?php

$a=1234;#10進制數

$a=-123;#10進制數

$a=0123;#八進制數(等于10進制的83)

?>

在字面上,×××變量正式的結構可以為:

<?php decimal   :[1-9][0-9]*               |0 hexadecimal:0[xX][0-9a-fA-F]+ octal            :0[0-7]+ integer         :[+-]?decimal                    |[+-]?hexadecimal                    |[+-]?octal ?>

 ×××的字長和平臺有關,盡管通常大值是大約20億(32位有符號),php不支持無符號整數

整數溢出

如果你指定了一個數超出了integer的范圍,竟會被解釋為float.同樣如果你執行的運算結果超出了integer范圍,也會返回float

<?php $large_number=2147483647; var_dump($large_number); //輸出為:int(2147483647) $large_number=2147483648; var_dump($large_number); //輸出為:float(2147483648) //同樣也適用于16進制的表示的整數 var_dump(0x80000000); //輸出為:float(2147483648) $million=1000000; $large_number=50000*$nillion; var_dump($larger_number); //輸出為:float(50000000000) ?>

 警告:

不幸的是php中有個bug,因此當有負數參與結果是并不總是正確。

例如當運算-50000*¥million是結果是-429496728.不過當兩個運算數都是正數時就沒有問題

這個問題在php4.1.0中解決了

php中沒有整出的運算符。1/2產生浮點數0.5.您可以總是舍棄小數部分,或者使用round()函數

<?php var_dump(25/7);//float(3.5714285714286) var_dump((int)(25/7));//int(3) var_dump(round(25/7));float(4) ?>

 轉換為×××

要明示地將一個值轉換為integer,用(int)或(integer)強制轉換。

不過大多數情況下都不需要強制轉換。因為當運算符,函數,或者流程控制需要一個integer參數時值會自動轉換

。您還可以通過函數intval()來將一個值轉換成×××

從布爾值轉換

false將產生0(零),true將產生1(壹)

從浮點數轉換

當從浮點數轉換成正數時,數字將被取整(丟棄小數位)

如果浮點數超出了整數范圍(通常為+/- 2.15e+9=2^31),則結果不確定

,因為沒有足夠的精度使浮點數給出一個確切的整數結果。在此情況下沒有警告,甚至沒有任何通知!

譯者注:在linux下返回的結果是最小負數(-2147483648),而在windows下返回的結果是0

警告:

絕不要將未知的分數強制轉換為integer,這樣有時會導致意外的結果

<?php

echo (int)((0.1+0.7)*10);//顯示7!

?>

從字符串轉換

注意:

沒有定義從其他類型轉換為×××的行為。目前的行為和值先轉換為布爾值一樣。不過不要依靠此行為,因為它會未加通知的改變。

4.浮點型

浮點數(也叫“float”,"doubles"或“real numbers”)可以用以下任何語法定義

<?php

$a=1.234;

$a=1.2e3;

$a=7E-10;

?>

形式上:

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

 浮點數的字長和平臺相關,盡管通常大值是1.8e308并具有14位十進制數字的精度(64位IEEE格式)

浮點數精度

顯然簡單的十進制分數如同0.1或0.7不能在不丟失一點點精度的情況下轉換為內部二進制的格式,這樣會造成混亂的結果:例如floor((0.1+0.7)*10)通常會返回7而不是預期中的8,因為該結果內部的表示其實是類似7.9999999.。。。

這和一個事實有關,那就是那就是不可能用精確的用有限位數表達十進制分數。例如十進制1/3變成了0.3333333.

所以永遠不要相信浮點數結果精確到了最后一位,也永遠不要比較兩個浮點數是否相等。如果確實需要更高的精度,應該使用任意精度數學函數庫gmp函數庫

轉換為浮點數:

如果您洗完了解有關何時和如何將字符串轉換成浮點數的信息,請查閱標題為“將字符串轉換為數字”的有關章節。對于其他類型的值,其情況類似于先將值轉換為×××,然后再轉換成浮點。

5.字符串

string是一系列字符。在php中,字符和字節一樣,也就是說,一共有256種不同字符的可能性。這也暗示,php和unicode沒有本地支持。請參閱utf8_encode和utf8_decode

另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章題目:php語言參考-數據類型-創新互聯
當前地址:http://vcdvsql.cn/article14/cscjge.html

成都網站建設公司_創新互聯,為您提供云服務器網站設計公司自適應網站做網站App設計網站策劃

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發