05 數(shù)據(jù)類型與轉(zhuǎn)換

一共8種類型。

基本類型4種

整型(int,integer)

1.4種寫法
$n1 = 123    //10進(jìn)制
$n2 = 0123    //8進(jìn)制
$n3 = 0x123    //16進(jìn)制
$n4 = 0b123    //2進(jìn)制
2.進(jìn)制轉(zhuǎn)換

bin二進(jìn)制,oct八進(jìn)制,dec10進(jìn)制,hex十六進(jìn)制。只有2種轉(zhuǎn)換,10進(jìn)制轉(zhuǎn)其他,其他轉(zhuǎn)10進(jìn)制。不能任意組合轉(zhuǎn),8進(jìn)制轉(zhuǎn)2進(jìn)制之類的是不存在的
10進(jìn)制轉(zhuǎn)其他(輸進(jìn)數(shù)字,返回的都是字符串!字符串!)

    $n = 123;
    $nc2 = decbin($n);      //10進(jìn)制轉(zhuǎn)2進(jìn)制
    $nc8 = decoct($n);      //10進(jìn)制轉(zhuǎn)8進(jìn)制
    $nc16 = dechex($n);     //10進(jìn)制轉(zhuǎn)16進(jìn)制

    echo "$nc2 <br/>";    //1111011 
    echo "$nc8 <br/>";    //173 
    echo "$nc16";    //7b

其他轉(zhuǎn)10進(jìn)制(輸進(jìn)字符串!字符串!返回字符串!)

    $n2_10 = bindec('10111');       //2進(jìn)制轉(zhuǎn)10進(jìn)制
    $n8_10 = octdec('123');     //8進(jìn)制轉(zhuǎn)10進(jìn)制
    $n16_10 = hexdec('123');        //16進(jìn)制轉(zhuǎn)10進(jìn)制

如果你在代碼種寫2進(jìn)制、8進(jìn)制、16進(jìn)制形式的數(shù),echo出來會自動轉(zhuǎn)換成10進(jìn)制輸出的

    $n2 = 0b10101011111;
    $n8 = 0123;
    $n16 = 0x123;
    echo "$n2<br>";    //1375
    echo "$n8<br>";    //83
    echo "$n16<br>";    //291

#題外話:echo "$n2<br>"還必須用雙引號,單引不行,單引會將$n2當(dāng)作字符串解釋0.0

補(bǔ)充一個(gè)轉(zhuǎn)換題加深理解


轉(zhuǎn)換題.PNG
浮點(diǎn)型(float,double,real)

1.2種寫法

//直接寫
$v1 = 123.123;

//科學(xué)計(jì)數(shù)法,帶一個(gè)特殊符號E,凡是這種寫法的無論實(shí)際大小,都是浮點(diǎn)型
$v2 = 123.123E2    //即12312.3
$v3 = 123.123E3    //即123123,仍然為浮點(diǎn)型
$v4 = 123E3    //即123000,浮點(diǎn)型

2.浮點(diǎn)數(shù)使用細(xì)節(jié)

  • 浮點(diǎn)數(shù)不應(yīng)該比較大小!浮點(diǎn)數(shù)不應(yīng)該進(jìn)行大小比較!浮點(diǎn)數(shù)不應(yīng)該進(jìn)行大小比較!(2進(jìn)制缺陷,大多數(shù)浮點(diǎn)數(shù)表達(dá)不能完全準(zhǔn)確,只能以很高的精度、接近理論值的值進(jìn)行比較。真想比較兩個(gè)浮點(diǎn)型的大小,結(jié)合所要求的精度轉(zhuǎn)化后再進(jìn)行比較)
比較8.1/3和2.7的大小
//精度要求為4
if(round(8.1/3 * 10000) == round(2.7 * 10000)){
    echo ''相等!''
}
  • 浮點(diǎn)型轉(zhuǎn)2進(jìn)制,乘以2按順序取整數(shù)部分就可以了
  • 當(dāng)整數(shù)的運(yùn)算結(jié)果超出整數(shù)的范圍之后,會自動轉(zhuǎn)換成浮點(diǎn)型
    $v = 10000;
    $m1 = $v * $v;
    $m2 = $m1 * $m1 * $m1;
    echo PHP_INT_MAX . "<br>";    //9223372036854775807
    var_dump($m1);    //int(100000000)
    var_dump($m2);    //float(1.0E+24)
字符串(string)

1.雙引號字符串:可以識別預(yù)定義的$符和tab
2.單引號字符串:不能識別$符
3.雙引號定界符字符串
這種方法定義一個(gè)字符串的時(shí)候,最后一行,只能是標(biāo)識符和分號,其他什么都不能有!包括空格!

$str =  <<<"abcd"    //這是標(biāo)識符,自己定義的
這是雙引號定界符字符串!
abcd;
echo $str;

4.單引號定界符字符串:寫法和雙引號定界符字符串類似,但是它沒有任何轉(zhuǎn)義字符。

布爾型(bool,boolean)

記住幾個(gè)特殊的就行了,0、"0"、""、null、空數(shù)組、空對象、未定義變量 都是 false, 其余是 true。

復(fù)合類型2種

數(shù)組(array)
對象(object)


特殊類型2種

空類型(null)
資源類型(resource),如數(shù)據(jù)庫,每一種資源都要另外學(xué)習(xí)的


數(shù)據(jù)類型轉(zhuǎn)換

當(dāng)然也分自動轉(zhuǎn)換(基本都是數(shù)學(xué)運(yùn)算符導(dǎo)致)和強(qiáng)制轉(zhuǎn)換啦。

強(qiáng)制轉(zhuǎn)換

1.通常的轉(zhuǎn)換目標(biāo)類型是(轉(zhuǎn)對象那個(gè)貌似作用不大?) (int)、(float)、(string)、(bool)、(array)、(object)

$v = 123;
$m1 = (float)$v;      //轉(zhuǎn)成浮點(diǎn)類型
$m2 = (string)$v;     //轉(zhuǎn)成字符串類型

2.用方法 setType() 進(jìn)行轉(zhuǎn)換

$v = 123;
setType($v, "string");

3.專門方法轉(zhuǎn)換
intval()、floatval()、strval()

$v = 123;
$m1 = floatval($v);
$m2 = strval($v);

$a = "123";
$a1 = intval($v);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,501評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,673評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,610評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,939評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,668評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,004評論 1 329
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,001評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,173評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,705評論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,426評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,656評論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,139評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,833評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,247評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,580評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,371評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,621評論 2 380

推薦閱讀更多精彩內(nèi)容