PHP語(yǔ)言基礎知識
不管多么險峻的高山,總是為不畏艱難的人留下一條攀登的路。以下是小編為大家搜索整理了PHP語(yǔ)言基礎知識,希望能給大家帶來(lái)幫助!更多精彩內容請及時(shí)關(guān)注我們應屆畢業(yè)生考試網(wǎng)!

PHP語(yǔ)言基礎(一)
1.數據類(lèi)型
PHP的數據類(lèi)型可以分為3種,即:標量數據類(lèi)型、復合數據類(lèi)型(就是多個(gè)簡(jiǎn)單的數據類(lèi)型組合在一起,存儲在一個(gè)變量中)和特殊數據類(lèi)型。
標量數據類(lèi)型
標量數據類(lèi)型是數據結構中最基本單元,只能存儲一個(gè)數據。PHP中標量數據類(lèi)型包括4種。
1.布爾型:布爾型是PHP中較為常用的數據類(lèi)型之一。它保存一個(gè)True或False值。其中True和False是PHP內部關(guān)鍵字。設定一個(gè)布爾型的變量,只需將True或False賦值給變量即可。通常布爾型變量都是應用在條件或循環(huán)語(yǔ)句的表達式中。
例子:布爾型變量應用
//布爾型變量
$boo=true;
if ($boo==true)
{
echo "我們一直在努力!";
}
else
{
echo "錯了!";
}
//或者寫(xiě)成:
if ($boo)
{
echo "我們一直在努力!";
}
else
{
echo "錯了!";
}
?>
2.字符串型(string)
字符串是連續的字符序列,由數字、字母和符號組成。字符串的每個(gè)字符只占有一個(gè)字節。在PHP中,定義字符串有3種方式。
? 單引號(?)
? 雙引號(“)
? 界定符(<<<)
單引號和雙引號是經(jīng)常被使用的定義方式,定義格式如下:$a=?字符串?;或$a=“字符串”;
兩者的區別是:雙引號中所包含的變量會(huì )自動(dòng)被替換成實(shí)際數值,而在單引號中包含的變量則按普通字符串輸出。
例子:?jiǎn)我柡碗p引號
$i="你好,PHP!";
echo "$i";
echo "
";
echo '$i';
?>
兩者之間另一處的不同點(diǎn)是對轉義字符的使用
使用單引號時(shí),只要對“?”進(jìn)行轉義就可以了,但使用雙引號時(shí),還要注意““”、”$“等字符的使用。這些特殊字符都要通過(guò)轉義符”\“來(lái)顯示。
常用的轉義字符如:
\n 回車(chē)
\r 回車(chē)
\t 水平制表符
\\ 反斜杠
\$ 美元符號
\? 單引號
\” 雙引號
以上這些特殊字符都必須要用轉義字符才能輸出
也就是說(shuō):要在一長(cháng)串用單引號或雙引號包含的字符串中輸出這些特殊字符,必須用轉義字符。
例子:轉義字符
//雙引號中包含換行符的情況
$language="PHP";
$w1="welcome to study $language! \nwelcome to tj!";
//echo $w1;
/*
我們可以看到\n這個(gè)換行符沒(méi)有起作用!這是因為不同的瀏覽器的函數庫不同會(huì )造成不同的效果
所以,對于換行符我們可以使用
來(lái)代替!
*/
$w2="welcome to study $language!
welcome to tj!";
//echo $w2;//我們可以看到換行出現了!
//雙引號中包含雙引號的情況
$app="蘋(píng)果";
$w3="我喜歡\"甜的\"$app";
//echo $w3;//在雙引號中使用雙引號,需要用到轉義字符\!
//雙引號中包含單引號的情況
$pear="梨";
$w4="我喜歡'{$pear}'";//由于單引號中不能解析變量,所以需要花括號!
//echo $w4;
//單引號中包含單引號的情況
$w5='我喜歡\'桃\'';
//echo $w5;
//單引號中包含雙引號
$w6='我喜歡"桔子"';
echo $w6;
?>
我們可以看到在雙引號中使用單引號,以及在單引號中使用雙引號都不需要轉義!只有在單引號里使用單引號,以及在雙引號中使用雙引號才需要轉義。
定義簡(jiǎn)單的字符串時(shí),使用單引號是更加高效的處理方式。使用雙引號時(shí),PHP將花費一些開(kāi)銷(xiāo)處理字符的轉義和變量的解析。因此,當沒(méi)有特別需求,應使用單引號。
界定符(<<<)是從PHP4.0開(kāi)始支持的。在使用時(shí)后接一個(gè)標識符,然后是字符串,最后是同樣的標識符結束字符串。
格式:$string=<<
此處為要輸出的字符串
str
其中str為指定的標識符。
定界符”<<<“后面緊接著(zhù)的是定界標識符。就是上面的str。標識符應遵循以下規則:
1.標識符由字母、數字或下劃線(xiàn)構成。并且不能以數字開(kāi)始。
2.結尾的標識符必須頂格書(shū)寫(xiě),其前不能有任何其他字符。
通常的錯誤是將結尾的定界標識符進(jìn)行縮進(jìn)。(也就是點(diǎn)擊了鍵盤(pán)上的Table鍵)
例子:使用定界符定義字符串
$str=<<
你好!PHP
EOD;
echo $str;
//定界符中的字符串可以被解析,可以使用轉義字符,但不必轉義引號。
//當需要定義或輸出大量的文本時(shí),使用定界符顯得尤為方便。
$str=<<
你好!"PHP"
EOD;
echo $str;
$i="PHP";
$str=<<
你好!$i
EOD;
echo $str;//可以輸出變量$i
//下面的情況會(huì )輸出:你好!"PHP",也就是說(shuō)在定界符中就可以解析變量,不需要雙引號! $i="PHP";
$str=<<
你好!"$i"
EOD;
echo $str;
?>
3.整型(integer)
整型數據類(lèi)型只能包含整數。在32位系統中,有效的范圍是-2147483648~+2147483647,如果超出了這個(gè)這個(gè)范圍,整數就會(huì )溢出。這時(shí),系統會(huì )自動(dòng)將其轉化為浮點(diǎn)型數字。 整型數可以用十進(jìn)制,八進(jìn)制和十六進(jìn)制來(lái)表示。如果用八進(jìn)制,數字前面必須加0,如果用十六進(jìn)制,則需要加0x。
在表達式中,計算的結果均以十進(jìn)制數字輸出
例子:整型變量的表示
$str1=1234;
$str2=01234;
$str3=0x1234;
echo "數字1234不同進(jìn)制的輸出結果:
";
echo "十進(jìn)制的結果是:$str1
";
echo "八進(jìn)制的結果是:$str2
";
echo "十六進(jìn)制的結果是:$str3
";
//以上結果均以十進(jìn)制的形式輸出
//如果想在進(jìn)制間進(jìn)行轉換,那么可以利用PHP的一些內置函數!
bindec() -- 二進(jìn)制轉換為十進(jìn)制
decbin() -- 十進(jìn)制轉換為二進(jìn)制
dechex() -- 十進(jìn)制轉換為十六進(jìn)制
decoct() -- 十進(jìn)制轉換為八進(jìn)制
hexdec() -- 十六進(jìn)制轉換為十進(jìn)制
octdec() -- 八進(jìn)制轉換為十進(jìn)制
base_convert()-- 在任意進(jìn)制之間轉換數字
//十六進(jìn)制轉換為十進(jìn)制
$f1=hexdec("0x4D2");
//echo $f1;//輸出1234
/**
* 十進(jìn)制轉換為十六進(jìn)制
*/ $f2=dechex("1234"); echo $f2;//輸出4d2 /** * 在任意進(jìn)制之間轉換數字 */ $f3=base_convert("1234",10,16);//將十進(jìn)制的1234轉換為十六進(jìn)制 echo $f3;//輸出4d2
?>
4.浮點(diǎn)型(float)
浮點(diǎn)數據類(lèi)型可以用來(lái)存儲數字,也可以保存小數。它提供的精度比整數大得多。在32位系統中,有效范圍是1.7E-308~1.7E+308。在PHP4.0以前的版本中,浮點(diǎn)型的標識為double,也叫雙精度浮點(diǎn)數,兩者沒(méi)有區別。浮點(diǎn)型數據默認有兩種書(shū)寫(xiě)格式,一種是標準格式。
如:3.1415、0.333、-35.8
還有一種是科學(xué)記數法格式。
如:3.58E1、849.72E-3
注:浮點(diǎn)型的數值只是一個(gè)近似值,所以要盡量避免浮點(diǎn)型之間比較大小,因為最后的結果往往是不準確的。
以上的布爾型、字符串型、整型、浮點(diǎn)型均為標量數據類(lèi)型!
復合數據類(lèi)型
復合數據類(lèi)型包括兩種(數組和對象)
1.數組(array)
數組是一組數據的集合,它把一系列數據組織起來(lái),形成一個(gè)可操作的整體。數組中可以包括很多數據:標量數據、數組、對象、資源,以及PHP中支持的其他語(yǔ)法結構等。數組中的每個(gè)數據稱(chēng)為一個(gè)元素,元素包括索引(鍵名)和值兩部分。元素的索引只能由數字或字符串組成。元素的值可以是多種數據類(lèi)型。定義數組的語(yǔ)法格式如下:
$array=(“value1”,”value2”……);或
$array[key]=“value”;或
$array=(key1=>value1,key2=>value2……);
例子:數組初始化
//數組的初始化
$arr=array(0=>1,1=>2,hi=>"hello");
print_r($arr);
echo $arr[0];//輸出數字下標的數組元素
echo "
";
echo $arr['hi'];//輸出字符串下標的數組元素
聲明數組后,數組中的元素個(gè)數還可以自由更改。只要給數組賦值,數組就會(huì )自動(dòng)增加長(cháng)度。
例子:更改數組的長(cháng)度
//下面我們創(chuàng )建一個(gè)包含3個(gè)元素的數組$arr,然后向$arr數組中添加2個(gè)新元素,最后輸出數組元素的值。
$arr=array("s1","s2","s3");
echo "\$arr[2]=$arr[2]";
echo "
";
arr[3]="s4";
$arr[]="s5";
print_r($arr);
?>
例子:對數組下標的分析
//構造數組
$key=8;
$arr=array(
1,
'abc',
'book'=>'PHP',
'33',
13=>'number',
'php'=>5.0,
$key=>'key',
'hello'
);
print_r($arr);
/**
* 需要注意的問(wèn)題:根據輸出的結果Array ( [0] => 1 [1] => abc [book] => PHP [2] => 33 [13] => number [php] => 5 [8] => key [14] => hello )
* 我們可以分析出:
* 1.數組的下標是從0開(kāi)始的
* 2.如果在數字下標后出現字符串下標,那么并不會(huì )打亂數字下標的順序。如:[0] => 1 [1] => abc [book] => PHP [2] => 33 字符串下標book后仍為數字下標2
* 3.如果在數組某元素出現自定義的數字下標,那么會(huì )打亂之前的下標順序,之后會(huì )以當前自定義的下標作為之后數字下標的排序依據。如:
* [2] => 33 [13] => number [php] => 5 [8] => key [14] => hello 數字下標2之后出現自定義的數字下標13,那么hello自然為14
* 請注意:14下標前的8為什么不會(huì )使hello的下標變成9呢?這是因為8之前已經(jīng)定義了大于8的下標13,所以以后只會(huì )以13為依據了,除非將8變?yōu)榇笥?3的數字,則hello的下標
才會(huì )以該數字為依據!!!
*/
注意:當為同名元素賦值時(shí),只保留最后一次的定義。所有整數字符的鍵被看做整數。
例子:數組的注意
$arr=array("s1","s2","s3");
$arr[3]="ss";
$arr[3]="xx";
print_r($arr);//只保留$arr[3]="xx";
$arr['4']="www";
print_r($arr);//$arr['4']相當于$arr[4]
?>
對象(object)
現在的編程語(yǔ)言用到的方法有兩種:面向過(guò)程和面向對象。在PHP中可以自由的使用這兩種方法。我們將在后續的課程中對面向對象的技術(shù)進(jìn)行詳細介紹。
特殊數據類(lèi)型
特殊數據類(lèi)型包括兩種(資源和空值)
1.資源(resource)
又叫做“句柄”,是由專(zhuān)門(mén)的函數來(lái)建立和使用的。它是一種特殊的數據類(lèi)型,并由程序員分配。在使用資源時(shí),要及時(shí)地釋放不需要的資源。如果程序員忘記了釋放資源,系統自動(dòng)啟動(dòng)垃圾回收機制,避免內存消耗殆盡。
例子:打開(kāi)文件形成的資源(隨開(kāi)隨關(guān))
//以只讀的方式打開(kāi)文件
$fileOpen=fopen("1.3.1.txt","r");
//讀取文件的所有內容
$fileRead=fread($fileOpen,filesize("1.3.1.txt"));
//關(guān)閉打開(kāi)的文件
fclose($fileOpen);
//輸出文件的內容
echo $fileRead;
?>
2.空值(null)
空值,顧名思義,表示沒(méi)有為該變量設置任何值,另外,空值不區分大小寫(xiě),null和NULL效果是一樣的。被賦予空值的情況有以下3種。
? 還沒(méi)有賦任何值;
? 被賦值null
? 被unset()函數處理過(guò)的變量。
例子:空值實(shí)例
//空值實(shí)例
echo "變量(\$string1)直接賦值為null";
$string1=null;
if ($string1==null)
{
echo "string=null";
}
//以上是字符串string1被賦值為null,也會(huì )輸出null
echo "
變量(\$string2)未被賦值:";
if ($string2==null)
{
echo "string2=null";
}
//以上是字符串string2未被賦值和聲明,同樣輸出null
echo "
被unset()函數處理過(guò)的變量(\$string3):";
$string3="str";
unset($string3);
if ($string3==null)
{
echo "string3==null";
}
//以上是字符串string3雖然被賦予初值,但經(jīng)過(guò)unset函數處理后,仍然輸出null
/**
* 總結:字符串string1被賦值為null,string2根本沒(méi)有聲明和賦值,所以也輸出null, * 最后的string3雖然被賦予了初值,但被unset()函數處理后,也變?yōu)閚ull型。 * unset()函數的作用就是從內存中刪除變量。
*/
?>
本節重點(diǎn)
PHP數據類(lèi)型的種類(lèi)
標量數據類(lèi)型、復合數據類(lèi)型(就是多個(gè)簡(jiǎn)單的數據類(lèi)型組合在一起,存儲在一個(gè)變量中)和特殊數據類(lèi)型
每種類(lèi)型所包含的變量種類(lèi)有哪些?
標量數據類(lèi)型是數據結構中最基本單元,只能存儲一個(gè)數據。PHP中標量數據類(lèi)型包括4種。
1.布爾型
2.字符串型(string)
3.整型(integer)
4.浮點(diǎn)型(float)
復合數據類(lèi)型包括兩種(數組和對象)
1.數組(array)
2.對象(object)
特殊數據類(lèi)型包括兩種(資源和空值)
1.資源
2.空值
各類(lèi)變量的特點(diǎn)?
1.布爾型:布爾型是PHP中較為常用的數據類(lèi)型之一。它保存一個(gè)True或False值。其中True和False是PHP內部關(guān)鍵字。設定一個(gè)布爾型的變量,只需將True或False賦值給變量即可。通常布爾型變量都是應用在條件或循環(huán)語(yǔ)句的表達式中。
2.字符串是連續的字符序列,由數字、字母和符號組成。字符串的每個(gè)字符只占有一個(gè)字節。在PHP中,定義字符串有3種方式。
? 單引號(?)
? 雙引號(“)
? 界定符(<<<)
3.整型數據類(lèi)型只能包含整數。
4.浮點(diǎn)數據類(lèi)型可以用來(lái)存儲數字,也可以保存小數。它提供的精度比整數大得多。
5.數組是一組數據的集合,它把一系列數據組織起來(lái),形成一個(gè)可操作的整體。數組中可以包括很多數據:標量數據、數組、對象、資源,以及PHP中支持的其他語(yǔ)法結構等。數組中的每個(gè)數據稱(chēng)為一個(gè)元素,元素包括索引(鍵名)和值兩部分。元素的索引只能由數字或字符串組成。元素的值可以是多種數據類(lèi)型。
6.對象(object) 現在的編程語(yǔ)言用到的方法有兩種:面向過(guò)程和面向對象。
定義字符串有哪幾種方式?
定義字符串有3種方式。
? 單引號(?)
? 雙引號(“)
? 界定符(<<<)
哪些特殊符號需要轉義字符才能輸出?
? \n 回車(chē)
? \r 回車(chē)
? \t 水平制表符
? \\ 反斜杠
? \$ 美元符號
? \? 單引號
? \” 雙引號
單引號和雙引號的區別?
1.雙引號中所包含的變量會(huì )自動(dòng)被替換成實(shí)際數值,而在單引號中包含的變量則按普通字符串輸出。
2.兩者之間另一處的不同點(diǎn)是對轉義字符的使用
使用單引號時(shí),只要對“?”進(jìn)行轉義就可以了,但使用雙引號時(shí),還要注意““”、”$“等字符的使用。這些特殊字符都要通過(guò)轉義符”\“來(lái)顯示。
界定符(<<<)要遵循的規則?
1.標識符由字母、數字或下劃線(xiàn)構成。并且不能以數字開(kāi)始。
2.結尾的標識符必須頂格書(shū)寫(xiě),其前不能有任何其他字符。
通常的錯誤是將結尾的定界標識符進(jìn)行縮進(jìn)。(也就是點(diǎn)擊了
鍵盤(pán)上的Table鍵)
整型數字在表達式中以什么進(jìn)制輸出?
十進(jìn)制
定義數組的方法有哪幾種?
定義數組的語(yǔ)法格式如下:
$array=(“value1”,”value2”……);或
$array[key]=“value”;或
$array=(key1=>value1,key2=>value2……);
特殊數據類(lèi)型有哪幾種?分別介紹一下?
特殊數據類(lèi)型包括兩種(資源和空值) 1.資源(resource)
又叫做“句柄”,是由專(zhuān)門(mén)的函數來(lái)建立和使用的。它是一種特殊的數據類(lèi)型,并由程序員分配。在使用資源時(shí),要及時(shí)地釋放不需要的資源。如果程序員忘記了釋放資源,系統自動(dòng)啟動(dòng)垃圾回收機制,避免內存消耗殆盡。
2.空值(null)
空值,顧名思義,表示沒(méi)有為該變量設置任何值,另外,空值不區分大小寫(xiě),null和NULL效果是一樣的。被賦予空值的情況有以下3種。
? 還沒(méi)有賦任何值;
? 被賦值null
? 被unset()函數處理過(guò)的變量。
【PHP語(yǔ)言基礎知識】相關(guān)文章:
php語(yǔ)言基礎知識06-15
php語(yǔ)言基礎知識匯總04-11
php基礎知識02-27
php語(yǔ)言04-07
新手PHP基礎知識04-05
PHP基礎知識大全07-29
php語(yǔ)言編程07-06
php語(yǔ)言簡(jiǎn)介04-28