PHP編程基礎(chǔ)與實(shí)例教程第二版課件_第1頁
PHP編程基礎(chǔ)與實(shí)例教程第二版課件_第2頁
PHP編程基礎(chǔ)與實(shí)例教程第二版課件_第3頁
PHP編程基礎(chǔ)與實(shí)例教程第二版課件_第4頁
PHP編程基礎(chǔ)與實(shí)例教程第二版課件_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版第二版第二版第 5 章 PHP數(shù)組 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版本章大綱本章大綱5-1 數(shù)組的基本概念5-2 一維數(shù)組的創(chuàng)建5-3 多維數(shù)組5-4 數(shù)組處理函數(shù)及應(yīng)用PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-1 5-1 數(shù)組的基本概念數(shù)組的基本概念1. 為什么引入數(shù)組 使用標(biāo)量數(shù)據(jù)類型定義的變量只能存儲單個(gè)“數(shù)據(jù)”,僅依靠標(biāo)量數(shù)據(jù)類型遠(yuǎn)不能解決現(xiàn)實(shí)生活中的一

2、些常見問題,例如一個(gè)設(shè)置個(gè)人信息的頁面如圖所示:PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-1 5-1 數(shù)組的基本概念數(shù)組的基本概念2. 數(shù)組的分類 一維數(shù)組 二維數(shù)組 多維數(shù)組PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-2 5-2 一維數(shù)組的創(chuàng)建一維數(shù)組的創(chuàng)建1. 直接將變量聲明為數(shù)組元素 一個(gè)變量聲明為一個(gè)數(shù)組元素有三種方法:第一種方法:不指定數(shù)組元素的“鍵”示例程序:$characters = humour;第二種方法:將數(shù)組元素的“鍵”指定為某個(gè)整數(shù)示例程序:$i

3、nterests2 = music;第三種方法:將數(shù)組元素的“鍵”指定為某個(gè)字符串示例程序:$colorsred = red;例如程序例如程序createArray2.phpcreateArray2.php ?php? PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-2 5-2 一維數(shù)組的創(chuàng)建一維數(shù)組的創(chuàng)建 2. 使用array()語言結(jié)構(gòu)創(chuàng)建數(shù)組 PHP提供了 array() 語言結(jié)構(gòu)創(chuàng)建數(shù)組, array() 語言結(jié)構(gòu)接受一定數(shù)量用逗號分隔的 key = value 參數(shù)對,這樣可以一次性地為數(shù)組添加多個(gè)元素(若key省略,則key

4、值為整數(shù))。例如程序createArray4.php。red,green,3=white,5);print_r($colors);/輸出:Array ( red = red 0 = green 3 = white 4 = 5 )?PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-2 5-2 一維數(shù)組的創(chuàng)建一維數(shù)組的創(chuàng)建3. 創(chuàng)建數(shù)組的注意事項(xiàng) 1如果數(shù)組元素中的“鍵”是一個(gè)浮點(diǎn)數(shù),則“鍵”將被強(qiáng)制轉(zhuǎn)換為整數(shù)(例如浮點(diǎn)數(shù)8.0將被強(qiáng)制轉(zhuǎn)換為整數(shù)8);如果“鍵”是TRUE或FALSE,則“鍵”將被強(qiáng)制轉(zhuǎn)換為整數(shù)1或0。2如果數(shù)組元素中的“鍵”

5、是一個(gè)字符串,且該字符串完全符合整數(shù)格式時(shí),數(shù)組元素的“鍵”將被強(qiáng)制轉(zhuǎn)換為整數(shù)(例如 9 將被強(qiáng)制轉(zhuǎn)換為整數(shù)9)。3由于數(shù)組元素中的“鍵”唯一標(biāo)識一個(gè)元素,因此數(shù)組中元素的“鍵”不能相等(使用= =比較)。如果兩個(gè)數(shù)組元素的“鍵”相等,“鍵”對應(yīng)的“值”將被覆蓋。4不要在array() 語言結(jié)構(gòu)中使用諸如“ red=red ” 鍵值對的方式創(chuàng)建數(shù)組元素,也不要使用諸如$colorsred = “red”的賦值語句的方式創(chuàng)建數(shù)組元素,否則程序的可讀性及運(yùn)行效率將大打折扣。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-2 5-2 一維數(shù)組

6、的創(chuàng)建一維數(shù)組的創(chuàng)建4. 數(shù)組元素“值”的訪問 訪問數(shù)組元素值的方法和訪問變量值的方法相同:通過指定數(shù)組名并在方括號內(nèi)指定“鍵名”的方式“訪問”數(shù)組元素的“值”。使用這樣的方法訪問數(shù)組,不僅可以讀取某個(gè)數(shù)組元素的“值”,還可以為數(shù)組添加數(shù)組元素以及修改數(shù)組元素的“值”,并可以像訪問“變量”的方法訪問數(shù)組元素的值。 PHP提供兩種變量賦值方式:傳值賦值和傳地址賦值,對于數(shù)組同樣適用。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-3 5-3 二維數(shù)組二維數(shù)組 1. 二維數(shù)組的創(chuàng)建 二維數(shù)組的創(chuàng)建方法和一維數(shù)組的創(chuàng)建方法相同。方法一:直接將

7、變量聲明為二維數(shù)組方法二:使用array()語言結(jié)構(gòu)創(chuàng)建二維數(shù)組?php2010001=array(studentNo=2010001,studentName=array(studentNo=2010001,studentName=張三張三,studentSex=,studentSex=男男),),2010002=2010002=array(studentNo=2010002,studentName=array(studentNo=2010002,studentName=李四李四,studentSex=,studentSex=女女),),2010003=2010003=array(studen

8、tNo=2010003,studentName=array(studentNo=2010003,studentName=王五王五,studentSex=,studentSex=男男),),2010004=2010004=array(studentNo=2010004,studentName=array(studentNo=2010004,studentName=馬六馬六,studentSex=,studentSex=女女););print_r($students);print_r($students);? ? PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基

9、礎(chǔ)與實(shí)例教程第二版5-3 5-3 二維數(shù)組二維數(shù)組 2. 二維數(shù)組元素“值”的訪問 二維數(shù)組中存在兩個(gè)“鍵”,因此訪問數(shù)組元素的“值”時(shí)需要指定這兩個(gè)“鍵”。例如:$students2010001studentName對應(yīng)的值是張三,其中第一個(gè)鍵2010001用于指定二維數(shù)組$students中的某一“行”,第二個(gè)鍵studentName用于指定二維數(shù)組$students的該“行”的某一“列”。只使用第一個(gè)“鍵”訪問數(shù)組時(shí),訪問的是二維數(shù)組中的某一“行”,該行是一個(gè)一維數(shù)組(例如$students2010001對應(yīng)的值是數(shù)組)PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版)

10、 )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 1. 快速創(chuàng)建數(shù)組的函數(shù) 1range()函數(shù)語法格式:array range(mixed start, mixed end)函數(shù)功能:快速創(chuàng)建一個(gè)從start到end范圍的數(shù)字?jǐn)?shù)組或字符數(shù)組。函數(shù)說明:如果 start end,序列將從 start到 end。 2explode()函數(shù)語法格式:array explode(string separator, string str);函數(shù)功能:使用指定的字符串分隔符separator分割字符串str,將分割后的字符串放到數(shù)組中,并返回該數(shù)組。PHPPHP編程

11、基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 1. 快速創(chuàng)建數(shù)組的函數(shù) 3array_combine()函數(shù)語法格式:array array_combine ( array keys, array values )函數(shù)功能:創(chuàng)建一個(gè)新數(shù)組,用數(shù)組keys的值作為新數(shù)組的“鍵”,數(shù)組values的值作為新數(shù)組的“值”。 4array_fill()函數(shù)語法格式:array array_fill ( int start_key, int length, mixed value )函數(shù)功能:創(chuàng)建一個(gè)數(shù)組,并為

12、該數(shù)組添加length個(gè)數(shù)組元素,數(shù)組元素的“鍵”從start_key處開始遞增,每個(gè)數(shù)組元素的值為value。說明:length必須是一個(gè)大于零的數(shù)值,否則 PHP 會(huì)提示W(wǎng)arning警告信息。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 1. 快速創(chuàng)建數(shù)組的函數(shù) 5array_pad()函數(shù)語法格式array array_pad ( array arr, int pad_size, mixed pad_value )函數(shù)功能:array_pad()函數(shù)返回?cái)?shù)組arr的一個(gè)拷貝,并

13、用pad_value 將其填補(bǔ)到 pad_size 指定的長度。如果 pad_size 為正,則數(shù)組被填補(bǔ)到右側(cè),如果為負(fù)則從左側(cè)開始填補(bǔ)。如果 pad_size 的絕對值小于或等于 input 數(shù)組的長度則沒有任何填補(bǔ)。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 2. 數(shù)組統(tǒng)計(jì)函數(shù) 1count()函數(shù)語法格式: int count (array arr, int mode )函數(shù)功能: 統(tǒng)計(jì)并計(jì)算數(shù)組arr中元素的個(gè)數(shù)。如果數(shù)組arr是多維數(shù)組,可將mode 參數(shù)的值設(shè)為常量CO

14、UNT_RECURSIVE(或整數(shù)1),計(jì)算數(shù)組arr中所有元素的個(gè)數(shù);mode 的默認(rèn)值是 0。該函數(shù)的別名函數(shù)為sizeof()。 2max()函數(shù)語法格式: mixed max ( array arr , array . )函數(shù)功能: 統(tǒng)計(jì)并計(jì)算數(shù)組arr中元素的最大值。說明:PHP 會(huì)將非數(shù)值的字符串當(dāng)成0處理,但如果這個(gè)正是最大的數(shù)值則仍然會(huì)返回一個(gè)字符串。如果多個(gè)數(shù)組元素的值為 0 且是最大值,函數(shù)會(huì)返回其中數(shù)值的 0,如果數(shù)組元素中沒有數(shù)值的 0,則返回按字母表順序最大的字符串。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版

15、5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 2. 數(shù)組統(tǒng)計(jì)函數(shù) 3min()函數(shù)語法格式: mixed min ( array arr , array . )函數(shù)功能: 統(tǒng)計(jì)并計(jì)算數(shù)組arr中元素的最小值。說明:PHP 會(huì)將數(shù)組arr中的字符串當(dāng)成 0處理,如果字符串正是數(shù)組arr中最小的數(shù)值,則仍然會(huì)返回一個(gè)字符串;min()函數(shù)返回一個(gè)字符串時(shí),該字符串為數(shù)組中順序靠前的字符串。 4array_sum()函數(shù)語法格式: number array_sum ( array arr)函數(shù)功能: 統(tǒng)計(jì)并計(jì)算數(shù)組arr中的所有元素值的和,array_sum()返回整數(shù)或浮點(diǎn)數(shù)。說明:PHP

16、 會(huì)將數(shù)組arr中的非數(shù)值類型的元素值自動(dòng)類型轉(zhuǎn)換為整數(shù)或浮點(diǎn)數(shù)。 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 2. 數(shù)組統(tǒng)計(jì)函數(shù) 5array_product()函數(shù)語法格式: number array_product ( array arr)函數(shù)功能: 統(tǒng)計(jì)并計(jì)算數(shù)組arr中所有元素值的乘積,該函數(shù)返回整數(shù)或浮點(diǎn)數(shù)。說明:PHP 會(huì)將數(shù)組arr中的非數(shù)值類型的數(shù)據(jù)自動(dòng)類型轉(zhuǎn)換為整數(shù)或浮點(diǎn)數(shù)。 6array_count_values()函數(shù)語法格式: array array_cou

17、nt_values ( array arr )函數(shù)功能: 統(tǒng)計(jì)并計(jì)算數(shù)組arr中所有元素的值出現(xiàn)的次數(shù)。 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 2. 數(shù)組統(tǒng)計(jì)函數(shù) 實(shí)訓(xùn)實(shí)訓(xùn)1 1:數(shù)組的遍歷:數(shù)組的遍歷 訪問數(shù)組的所有元素的過程稱為數(shù)組的遍歷,使用數(shù)組統(tǒng)計(jì)count()函數(shù)和for循環(huán)語句可以遍歷連續(xù)整數(shù)“鍵”的數(shù)組。例如程序ergodic1.php,該程序的運(yùn)行結(jié)果如圖所示。?php$chars = range(a,d);$counts = count($chars);for

18、($key=0;$key$counts;$key+)echo $chars$key.;?PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 3. 數(shù)組指針函數(shù) 每一個(gè)PHP數(shù)組在創(chuàng)建之后都會(huì)自動(dòng)建立一個(gè)“內(nèi)部指針系統(tǒng)”:每個(gè)元素有一個(gè)“內(nèi)部指針”(pointer)指向下一個(gè)元素;并且“內(nèi)部指針系統(tǒng)”會(huì)為每一個(gè)PHP數(shù)組自動(dòng)建立一個(gè)“當(dāng)前指針”(current)指向數(shù)組的第一個(gè)元素,圖5-24是程序createArray2.php產(chǎn)生的數(shù)組指針結(jié)構(gòu)圖。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)

19、例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 3. 數(shù)組指針函數(shù) 1key()函數(shù)語法格式:mixed key ( array &arr)函數(shù)功能:返回?cái)?shù)組arr中“當(dāng)前指針”所指元素的“鍵”名。說明:該函數(shù)并不移動(dòng)“當(dāng)前指針”,也不會(huì)修改數(shù)組arr的內(nèi)部結(jié)構(gòu)。 2current()函數(shù)語法格式:mixed current ( array &arr)函數(shù)功能:返回?cái)?shù)組arr中“當(dāng)前指針”所指元素的“值”。說明:current()函數(shù)有個(gè)別名pos。該函數(shù)并不移動(dòng)“當(dāng)前指針” ,也不會(huì)修改數(shù)組arr的內(nèi)部結(jié)構(gòu)。P

20、HPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 3. 數(shù)組指針函數(shù) 3next()函數(shù)語法格式:mixed next ( array &arr )函數(shù)功能:移動(dòng)數(shù)組arr“當(dāng)前指針”(current),使“當(dāng)前指針”(current)指向數(shù)組arr的下一個(gè)元素;然后返回“當(dāng)前指針”(current)所指的元素“值”。說明:當(dāng)“當(dāng)前指針”(current)指向數(shù)組的最后一個(gè)元素時(shí),使用next()函數(shù)移動(dòng)“當(dāng)前指針”(current)后,“當(dāng)前指針”(current)為“空”,并且“

21、當(dāng)前指針”(current)指向的元素“值”為FALSE。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 3. 數(shù)組指針函數(shù) 4end()函數(shù)語法格式:mixed end ( array &arr )函數(shù)功能:移動(dòng)數(shù)組arr“當(dāng)前指針”(current),使“當(dāng)前指針”(current)指向數(shù)組arr最后一個(gè)元素;然后返回“當(dāng)前指針”(current)所指的元素“值”。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5

22、-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 3. 數(shù)組指針函數(shù) 5prev()函數(shù)語法格式:mixed prev ( array &arr )函數(shù)功能:移動(dòng)數(shù)組arr“當(dāng)前指針”(current),使“當(dāng)前指針”(current)指向數(shù)組arr上一個(gè)元素;然后返回“當(dāng)前指針”(current)所指的元素“值”。說明:當(dāng)“當(dāng)前指針”(current)為“空”時(shí),使用prev()函數(shù)移動(dòng)“當(dāng)前指針”(current)后,“當(dāng)前指針”(current)還為“空”,并且“當(dāng)前指針”(current)指向的元素“值”為FALSE。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版

23、) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 3. 數(shù)組指針函數(shù) 6reset()函數(shù)語法格式:mixed reset ( array &arr )函數(shù)功能:移動(dòng)數(shù)組arr“當(dāng)前指針”(current),使“當(dāng)前指針”(current)指向數(shù)組arr的第一個(gè)元素;然后返回“當(dāng)前指針”(current)所指的元素“值”。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 3. 數(shù)組指針函數(shù) 7each()函數(shù)語法格式:array each (

24、array &arr)函數(shù)功能:以數(shù)組形式返回“當(dāng)前指針”(current)所指的元素(包括“鍵”和“值”),然后移動(dòng)數(shù)組arr“當(dāng)前指針”(current),使“當(dāng)前指針”指向數(shù)組arr下一個(gè)元素。說明:該函數(shù)返回的數(shù)組中共有四個(gè)元素(“鍵值對”),四個(gè)元素的“鍵”名分別為:0,1,key 和 value,“鍵”名為0 和 key的元素值為arr“當(dāng)前指針”(current)所指的元素鍵名,“鍵”名為1 和 valuey的元素值為arr“當(dāng)前指針”(current)所指的元素值(見表):鍵鍵值值0 0current-keycurrent-key1 1current-valuecurr

25、ent-valuekeykeycurrent-keycurrent-keyvaluevaluecurrent-valuecurrent-valuePHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 3. 數(shù)組指針函數(shù) 實(shí)訓(xùn)2:非連續(xù)“鍵”的數(shù)組遍歷 使用next()函數(shù)和while循環(huán)語句可以遍歷非連續(xù)“鍵”的數(shù)組。例如程序ergodic2.php: .$value.;while(next($temp);? PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版

26、) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 4. 數(shù)組和變量間的轉(zhuǎn)換函數(shù) 1list()語言結(jié)構(gòu)語法格式:void list ( mixed varname1, mixed varname2,mixed .) = array arr;函數(shù)功能:用一步操作給一組變量進(jìn)行賦值。list()語言結(jié)構(gòu)中定義變量名varname1、varname2等,變量值在數(shù)組arr中。說明:list()語言結(jié)構(gòu)僅用于數(shù)字“鍵”的數(shù)組,并要求數(shù)字“鍵”從0 開始連續(xù)遞增。 2extract()函數(shù)語法格式:int extract ( array arr )函數(shù)功能:ext

27、ract()函數(shù)使用數(shù)組arr定義一組變量,其中變量名為數(shù)組arr元素的鍵名,變量值為數(shù)組arr元素“鍵”對應(yīng)的值。 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 4. 數(shù)組和變量間的轉(zhuǎn)換函數(shù) 3compact()函數(shù)語法格式:array compact ( mixed varname1, mixed varname2,mixed . )函數(shù)功能:compact()函數(shù)返回一個(gè)數(shù)組,數(shù)組每個(gè)元素的“鍵”名為變量名varname1(varname2.),每個(gè)數(shù)組元素的“值”為變量varn

28、ame1(varname2.)的值。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 4. 數(shù)組和變量間的轉(zhuǎn)換函數(shù) 使用list()語言結(jié)構(gòu)、each()函數(shù)和while循環(huán)語句可以實(shí)現(xiàn)數(shù)組的遍歷。例如程序ergodic3.php:.$value.;?a0a1a2a3an-1front(隊(duì)首)rear(對尾)出隊(duì)入隊(duì) PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 5. 數(shù)組遍歷語言

29、結(jié)構(gòu) foreach語言結(jié)構(gòu)有兩種用法:1foreach(array as $value);使用該方法循環(huán)遍歷給定的數(shù)組array,每次循環(huán)中,“當(dāng)前指針”所指元素的“值”賦給變量$value ,然后移動(dòng)數(shù)組array“當(dāng)前指針”,使“當(dāng)前指針”指向下一個(gè)元素,周而復(fù)始,直至數(shù)組array最后一個(gè)元素,此時(shí)“當(dāng)前指針”為空。2foreach(array as $key=$value);使用該方法循環(huán)遍歷給定的數(shù)組array,每次循環(huán)中,“當(dāng)前指針”所指元素的“鍵”名賦給變量$key,“當(dāng)前指針”所指元素的值賦給變量$value,然后移動(dòng)數(shù)組array“當(dāng)前指針”,使“當(dāng)前指針”指向下一個(gè)元素,

30、周而復(fù)始,直至數(shù)組array最后一個(gè)元素,此時(shí)“當(dāng)前指針”為空。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 6. 數(shù)組檢索函數(shù) 1array_keys()函數(shù)語法格式:array array_keys ( array arr , mixed searchValue )函數(shù)功能:array_keys() 函數(shù)以數(shù)組的形式返回arr數(shù)組中的“鍵名”。 如果指定了可選參數(shù)searchValue,則只返回searchValue值的鍵名;否則arr數(shù)組中的所有鍵名都會(huì)被返回。說明:如果sear

31、chValue是字符串,則比較以區(qū)分大小寫的方式進(jìn)行。 2array_values()函數(shù)語法格式:array array_values ( array arr )函數(shù)功能:array_values() 函數(shù)以數(shù)組的形式返回arr數(shù)組中所有的元素值(過濾掉重復(fù)的元素值),并為該數(shù)組建立連續(xù)的整數(shù)“鍵”。 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 6. 數(shù)組檢索函數(shù) 3in_array()函數(shù)語法格式:bool in_array ( mixed searchValue, array

32、arr , bool strict )函數(shù)功能:檢查數(shù)組arr中是否存在值searchValue,如果存在則返回TRUE,否則返回FALSE。如果第三個(gè)參數(shù)strict的值為TRUE,則in_array() 函數(shù)還會(huì)檢查數(shù)據(jù)類型是否相同。strict的默認(rèn)值為FALSE。說明:如果searchValue是字符串,則比較時(shí)區(qū)分大小寫。 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 6. 數(shù)組檢索函數(shù) 4array_key_exists()函數(shù)語法格式:bool array_key_exi

33、sts ( mixed keyName, array arr)函數(shù)功能:檢查數(shù)組arr中是否存在鍵名keyName,如果存在則返回TRUE,否則返回FALSE。 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 6. 數(shù)組檢索函數(shù) 5array_search()函數(shù)語法格式:mixed array_search ( mixed searchValue, array arr , bool strict )函數(shù)功能:在數(shù)組arr中搜索給定的值searchValue,如果找到則返回對應(yīng)的鍵名,否

34、則返回FALSE。如果第三個(gè)參數(shù)strict的值為TRUE,則array_search ()函數(shù)還會(huì)檢查數(shù)據(jù)類型是否相同。strict的默認(rèn)值為FALSE。說明:如果searchValue是字符串,則比較時(shí)區(qū)分大小寫;如果searchValue在arr中出現(xiàn)不止一次,則返回第一個(gè)匹配的鍵;要返回所有匹配值的鍵,應(yīng)該用array_keys()函數(shù)。 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 6. 數(shù)組檢索函數(shù) 6array_unique()函數(shù)語法格式:array array_uni

35、que ( array array )函數(shù)功能:array_unique()函數(shù)返回一個(gè)移除數(shù)組arr中重復(fù)的元素“值”的新數(shù)組。說明:array_unique()函數(shù)保持了原有的“鍵值對”對應(yīng)關(guān)系,對每個(gè)值只保留第一個(gè)遇到的鍵名。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 7. 數(shù)組排序函數(shù) 1sort()函數(shù)語法格式:bool sort ( array &arr )函數(shù)功能:sort()函數(shù)按元素“值”的升序(先是數(shù)字、然后是標(biāo)點(diǎn)符號、最后是字母)對數(shù)組arr進(jìn)行排序。如

36、果排序成功則返回TRUE,否則返回FALSE。說明:sort()函數(shù)為排序后的數(shù)組arr賦予新的“整數(shù)”鍵名。 2asort()函數(shù)語法格式:bool asort ( array &arr )函數(shù)功能:asort()函數(shù)按元素“值”的升序(先是數(shù)字、然后是標(biāo)點(diǎn)符號、最后是字母)對數(shù)組arr進(jìn)行排序。如果排序成功則返回TRUE,否則返回FALSE。說明:數(shù)組arr經(jīng)asort()函數(shù)排序后,保持?jǐn)?shù)組元素原有的“鍵值對”對應(yīng)關(guān)系。 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 7.

37、 數(shù)組排序函數(shù) 3rsort()函數(shù)和arsort()函數(shù)rsort()函數(shù)和arsort()函數(shù)與sort()函數(shù)和rsort()函數(shù)是一致的,不同的是rsort()函數(shù)和arsort()函數(shù)是按降序?qū)?shù)組進(jìn)行排序。 4ksort()函數(shù)語法格式:bool ksort ( array & arr)函數(shù)功能:ksort()函數(shù)對數(shù)組arr按照鍵名升序排序,并保持?jǐn)?shù)組元素原有的“鍵值對”對應(yīng)關(guān)系。如果成功則返回TRUE,否則返回FALSE。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及

38、應(yīng)用 7. 數(shù)組排序函數(shù) 5krsort()函數(shù)語法格式:bool krsort ( array & arr)函數(shù)功能:krsort()函數(shù)對數(shù)組arr按照鍵名降序排序,并保持?jǐn)?shù)組元素原有的“鍵值對”對應(yīng)關(guān)系。如果成功則返回TRUE,否則返回FALSE。 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 7. 數(shù)組排序函數(shù) 6natsort()函數(shù)語法格式:bool natsort ( array &arr )函數(shù)功能:用“自然排序”算法對數(shù)組arr元素“值”進(jìn)行升序排序,

39、并保持?jǐn)?shù)組元素原有的“鍵值對”對應(yīng)關(guān)系不變。 7natcasesort()函數(shù)語法格式:bool natcasesort ( array &arr )函數(shù)功能:用“自然排序”算法對數(shù)組arr元素“值”進(jìn)行不區(qū)分大小寫字母的升序排序,并保持?jǐn)?shù)組元素原有的“鍵值對”對應(yīng)關(guān)系不變。 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 7. 數(shù)組排序函數(shù) 8shuffle()函數(shù)語法格式:bool shuffle ( array &arr )函數(shù)功能:shuffle()函數(shù)為數(shù)組ar

40、r隨機(jī)排序。說明:shuffle ()函數(shù)將為隨機(jī)排序后的數(shù)組arr賦予新的鍵名。 9array_reverse()函數(shù)語法格式:array array_reverse ( array arr , bool preserve_keys )函數(shù)功能:array_reverse()函數(shù)返回一個(gè)和數(shù)組arr元素順序相反的新數(shù)組,如果preserve_keys為TRUE 則保持?jǐn)?shù)組元素原有的“鍵值對”對應(yīng)關(guān)系不變。 PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 8. 數(shù)組與數(shù)據(jù)結(jié)構(gòu) 1arra

41、y_push()函數(shù)語法格式:int array_push ( array &arr, mixed var1 , mixed var2 , mixed )函數(shù)功能:array_push()函數(shù)將arr當(dāng)成一個(gè)棧,并將參數(shù)var1、var2分別壓入arr的末尾。 2array_pop()函數(shù)語法格式:mixed array_pop ( array &arr )函數(shù)功能:array_pop()函數(shù)彈出數(shù)組arr最后一個(gè)元素,并返回該元素值。如果 array 為空(或者不是數(shù)組)將返回NULL。說明:使用array_pop()函數(shù)后會(huì)把數(shù)組arr的“當(dāng)前指針”復(fù)位(自動(dòng)調(diào)用reset

42、()函數(shù))。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 8. 數(shù)組與數(shù)據(jù)結(jié)構(gòu) 3array_unshift()函數(shù)語法格式:int array_unshift ( array &arr, mixed var1 , mixed var2 , mixed )函數(shù)功能:array_unshift()函數(shù)將arr當(dāng)成一個(gè)特殊的隊(duì)列(如圖所示),并將參數(shù)var2、var1分別插入arr的隊(duì)首。該函數(shù)返回入隊(duì)元素的個(gè)數(shù)。說明:這個(gè)特殊的隊(duì)列限定在對首插入元素,在隊(duì)首刪除元素。 PHPPH

43、P編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 8. 數(shù)組與數(shù)據(jù)結(jié)構(gòu) 4array_shift()函數(shù)語法格式:mixed array_shift ( array &arr )函數(shù)功能:array_shift()函數(shù)刪除數(shù)組arr第一個(gè)元素,并返回該元素值。如果array為空(或者不是數(shù)組)將返回NULL。說明:使用array_shift()函數(shù)后會(huì)把數(shù)組arr的“當(dāng)前指針”復(fù)位(自動(dòng)調(diào)用reset()函數(shù))。PHPPHP編程基礎(chǔ)與實(shí)例教程編程基礎(chǔ)與實(shí)例教程( (第二版第二版) )PHP編程基礎(chǔ)與實(shí)例教程第二版5-4 5-4 數(shù)組處理函數(shù)及應(yīng)用數(shù)組處理函數(shù)及應(yīng)用 9. 數(shù)組集合運(yùn)算函數(shù) 1array_merge()函數(shù)語法格式:array array_merge ( array arr1 , array arr2 , array . )函數(shù)功能:將數(shù)組arr1、arr2等合并為一個(gè)新數(shù)組,該函數(shù)返回該新數(shù)組(集合的并集運(yùn)算)。多個(gè)數(shù)組中,如果元素的鍵名相同,則后面的數(shù)組的元素“值”覆蓋前面數(shù)組的元素“值”。如果數(shù)組元素的鍵名是數(shù)字,后面的值將不會(huì)覆蓋原來的值,而是附加到后面。PHP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論