實(shí)例解析php的數(shù)據(jù)類型
PHP的數(shù)據(jù)類型分為三大類,八小類:
1、標(biāo)量類型
boolean(布爾型):這是最簡(jiǎn)單的類型,只有兩個(gè)取值,可以為TRUE/true或FALSE/false,不區(qū)分大小寫。詳細(xì)請(qǐng)查看:PHP布爾類型(boolean)
integer(整型):整型值可以使用十進(jìn)制,十六進(jìn)制或八進(jìn)制表示,前面可以加上可選的符號(hào)( - 或 + )。八進(jìn)制表示數(shù)字前必須加上0(零),十六進(jìn)制表示數(shù)字前必須加上0x。詳細(xì)請(qǐng)查看:PHP整型數(shù)據(jù)(integer)
float(浮點(diǎn)型,也稱作double):詳細(xì)請(qǐng)查看:PHP浮點(diǎn)類型(float)
string(字符串):字符型變量不同于其他編程語言有字符和字符串之分,在PHP中,統(tǒng)一使用字符型變量來定義字符或者字符串。詳細(xì)請(qǐng)查看:PHP字符串類型(string)
2、復(fù)合類型
array(數(shù)組):數(shù)組型變量是一種比較特殊的變量類型
object(對(duì)象):對(duì)象也是一種特殊的數(shù)據(jù)類型,要?jiǎng)?chuàng)建object變量,一般使用new關(guān)鍵字來獲取,詳細(xì)請(qǐng)查看:PHP對(duì)象類型(object)
3、特殊類型
resource(資源型):資源是一種特殊的變量,保存了到外部資源的的一個(gè)引用。資源是通過專門的函數(shù)來建立和使用的。詳細(xì)請(qǐng)查看:PHP資源類型(resource)
NULL(空null):表示一個(gè)變量沒有值。NULl唯一可能的值就是NULL
注意:PHP是一種弱類型的語言,其變量沒有數(shù)據(jù)類型,但是變量所存儲(chǔ)的數(shù)據(jù)有對(duì)應(yīng)的數(shù)據(jù)類型
整型數(shù)據(jù)類型:采用8個(gè)字節(jié)存儲(chǔ),并且提供了多種進(jìn)制的整數(shù)存儲(chǔ)方式
$num = 10; // 十進(jìn)制 $num1 = 0123; // 八進(jìn)制(83) $num2 = 0x123; // 十六進(jìn)制(291) $num3 = 0b1101; //二進(jìn)制(13)
浮點(diǎn)型數(shù)據(jù)類型:采用8個(gè)字節(jié)存儲(chǔ),并且提供了多種存儲(chǔ)方式
$float_num = 1.23; $float_num1 = 1.23e3; // 1.23乘10的3次方
其在內(nèi)存中的存儲(chǔ)方式是:將8個(gè)字節(jié)的一部分拿出來存儲(chǔ)指數(shù),一部分存儲(chǔ)有效數(shù)字,則某些時(shí)候,當(dāng)超出一定范圍,會(huì)導(dǎo)致精度丟失。
字符串?dāng)?shù)據(jù)類型
在PHP中,凡是用戶輸入的數(shù)據(jù)和程序員使用了引號(hào)(單引號(hào)和雙引號(hào))定義的數(shù)據(jù),系統(tǒng)都理解為字符串,PHP7字符串的長度理論上無限制
單引號(hào)和雙引號(hào)都可以定義字符串,但是彼此是有區(qū)別的:
--單引號(hào)中只能解析少量的轉(zhuǎn)義符號(hào):\',\
--雙引號(hào)中能解析較多的轉(zhuǎn)義字符:$,\”,\n
雙引號(hào)中能夠解析嵌套在字符串中的php變量( 變量要與其他字符串分離,使用{} )
$a = "你好"; $c = "$a世界"; // $c = "{$a}世界" 常用 echo $c; //輸出“你好世界”
字符串查看
可以通過下標(biāo)$str[ 1 ]來查看字符串中制定下標(biāo)的字符,當(dāng)索引為負(fù)數(shù)時(shí),則從后往前作為索引方向
定義數(shù)組
在PHP中可以通過多種方式來定義數(shù)組,通用的幾種方式如下:
-- 使用array關(guān)鍵字來初始化數(shù)組
-- 使用數(shù)組括號(hào) [ ] 來初始化數(shù)組
// 使用array $arr1 = array(); // 可以不指定元素 $arr2 = array("name", "age");
// 使用[]定義數(shù)組 $arr3 = []; $arr4 = ["name", "age"];
數(shù)組的特點(diǎn)
1、PHP數(shù)組中的元素理論上沒有數(shù)量限制
2、PHP數(shù)組中可以動(dòng)態(tài)添加元素
3、PHP數(shù)組元素的值可以是任意數(shù)據(jù)類型
4、PHP數(shù)組下標(biāo)可以是純數(shù)字(索引數(shù)組),純字符串(關(guān)聯(lián)數(shù)組),混合數(shù)字和字符串(混合數(shù)組)
類型判斷
通過系統(tǒng)函數(shù)判定數(shù)據(jù)類型:函數(shù)的格式使用 is_ 開頭,后面跟對(duì)應(yīng)的數(shù)據(jù)類型,其返回結(jié)果是布爾類型。
類型轉(zhuǎn)換
自動(dòng)轉(zhuǎn)換:PHP會(huì)自動(dòng)根據(jù)數(shù)據(jù)要參與的運(yùn)算場(chǎng)景來將不符合條件的數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)換目標(biāo)類型數(shù)據(jù),這種轉(zhuǎn)換不會(huì)改變變量原來的數(shù)據(jù)類型
強(qiáng)制轉(zhuǎn)換:使用 int(目標(biāo)類型)格式來轉(zhuǎn)換數(shù)據(jù)
相關(guān)文章
如何在PHP環(huán)境中使用ProtoBuf數(shù)據(jù)格式
這篇文章主要介紹了如何在PHP環(huán)境中使用ProtoBuf數(shù)據(jù)格式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06PHP中spl_autoload_register()函數(shù)用法實(shí)例詳解
這篇文章主要介紹了PHP中spl_autoload_register()函數(shù)用法,結(jié)合實(shí)例形式分析了__autoload函數(shù)及spl_autoload_register函數(shù)的相關(guān)使用技巧,需要的朋友可以參考下2016-07-07php下通過curl抓取yahoo boss 搜索結(jié)果的實(shí)現(xiàn)代碼
php下通過curl抓取yahoo boss 搜索結(jié)果的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-06-06php基于協(xié)程實(shí)現(xiàn)異步的方法分析
這篇文章主要介紹了php基于協(xié)程實(shí)現(xiàn)異步的方法,結(jié)合實(shí)例形式分析了php基于協(xié)程調(diào)度的異步操作實(shí)現(xiàn)方法,需要的朋友可以參考下2019-07-07php中用date函數(shù)獲取當(dāng)前時(shí)間有誤的解決辦法
以下是對(duì)php中用date函數(shù)獲取當(dāng)前時(shí)間有誤的解決辦法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08PHP實(shí)現(xiàn)文件下載斷點(diǎn)續(xù)傳詳解
這篇文章主要介紹了PHP實(shí)現(xiàn)文件下載斷點(diǎn)續(xù)傳詳解,本文講解了載斷點(diǎn)續(xù)傳的實(shí)現(xiàn)理解,并給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-10-10