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