[計算機]玩轉(zhuǎn)PHP關(guān)聯(lián)數(shù)組的10個技巧_第1頁
[計算機]玩轉(zhuǎn)PHP關(guān)聯(lián)數(shù)組的10個技巧_第2頁
[計算機]玩轉(zhuǎn)PHP關(guān)聯(lián)數(shù)組的10個技巧_第3頁
[計算機]玩轉(zhuǎn)PHP關(guān)聯(lián)數(shù)組的10個技巧_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、.玩轉(zhuǎn)PHP關(guān)聯(lián)數(shù)組的10個技巧關(guān)聯(lián)數(shù)組是描述一組鍵及其關(guān)聯(lián)值時經(jīng)常使用的一種數(shù)據(jù)類型,可以說它是所有編程語言的支柱,當(dāng)然,PHP也不例外,實際上,關(guān)聯(lián)數(shù)組對Web開發(fā)任務(wù)來說是非常重要的,PHP支持多種操作關(guān)聯(lián)數(shù)組的方法,對開發(fā)人員來說,要從中找出最有效,最合適自己所開發(fā)程序的方法來操縱這些數(shù)組。這篇文章將介紹10個操作PHP關(guān)聯(lián)數(shù)組的技巧,熟練運用能幫助你提高開發(fā)效率。1、添加數(shù)組元素PHP是一種弱類型語言,這意味著你不需要顯示聲明一個數(shù)組及其大小,相反,你可以同時聲明并填充數(shù)組。1 $capitals = array( 2 Alabama = Montgomery, 3 Alaska =

2、 Juneau, 4 Arizona = Phoenix 5 ); 額外的數(shù)組元素可以象下面這樣追加:6 $capitalsArkansas = Little Rock; 如果你正在處理數(shù)字索引數(shù)組,你可能想使用顯示命名的函數(shù)前置和追加元素,如array_push()和array_unshift()函數(shù),但這些函數(shù)不能操作關(guān)聯(lián)數(shù)組。2、刪除數(shù)組元素如果要從數(shù)組中刪除一個元素,請使用unset()函數(shù),如:7 unset($capitalsCalifornia); 使用數(shù)字索引數(shù)組時,刪除數(shù)組元素的辦法更多,更靈活,可以使用array_shift()和array_pop()函數(shù)分別從數(shù)組的開頭和

3、末尾刪除一個元素。3、交換鍵和值假設(shè)你想創(chuàng)建一個名叫$states的新數(shù)組,使用州府作為索引,使用州名作為關(guān)聯(lián)值,使用array_flip()函數(shù)很容易完成這個任務(wù)。8 $capitals = array( 9 Alabama = Montgomery, 10 Alaska = Juneau, 11 Arizona = Phoenix 12 ); 13 $states = array_flip($capitals); 14 / $states = array( 15 / Montgomery = string Alabama, 16 / Juneau = string Alaska, 17 /

4、 Phoenix = string Arizona 18 / ); 4、合并數(shù)組假設(shè)前面的數(shù)組由一個基于Web的“FlashCard”服務(wù)使用,你想提供一種方法測試學(xué)生對美國各州首府的掌握情況,你可以使用array_merge()函數(shù)合并包含州和首府的數(shù)組。19 $stateCapitals = array( 20 Alabama = Montgomery, 21 Alaska = Juneau, 22 Arizona = Phoenix 23 ); 24 $countryCapitals = array ( 25 Australia = Canberra, 26 Austria = Vien

5、na, 27 Algeria = Algiers 28 ); 29 $capitals = array_merge($stateCapitals, $countryCapitals); 5、編輯數(shù)組值假設(shè)在數(shù)組中的數(shù)據(jù)包含大小寫錯誤,在插入到數(shù)據(jù)庫之前,你想糾正這些錯誤,你可以使用array_map()函數(shù)給每個數(shù)組元素應(yīng)用一個回調(diào)。30 function capitalize($element) 31 32 $element = strtolower($element); 33 return ucwords($element); 34 35 $capitals = array( 36 Ala

6、bama = montGoMEry, 37 Alaska = Juneau, 38 Arizona = phoeniX 39 ); 40 $capitals = array_map(capitalize, $capitals); 6、按鍵對數(shù)組排序FlashCard程序常常使用各種排序,如按字母順序排序,你可以使用ksort()函數(shù)按鍵對關(guān)聯(lián)數(shù)組進行排序。1 $capitals = array( 2 Arizona = Phoenix, 3 Alaska = Juneau, 4 Alabama = Montgomery 5 ); 6 ksort($capitals); 因為數(shù)組是通過參數(shù)傳遞給

7、ksort()函數(shù)的,意味著你不再需要將排序結(jié)果分配給另一個變量。7、隨機數(shù)組排序在FlashCard程序中還涉及到另一種隨機排序技術(shù),這時你要使用shuffle()函數(shù)實現(xiàn)數(shù)組項目的隨機排序。7 $capitals = array( 8 Arizona = Phoenix, 9 Alaska = Juneau, 10 Alabama = Montgomery 11 ); 12 shuffle($capitals); 如果不需要打亂數(shù)組順序,你只是想隨機選擇一個值,那么使用array_rand()函數(shù)即可。8、確定鍵和值是否存在你可以使用in_array()函數(shù)確定一個數(shù)組元素是否存在。13

8、$capitals = array( 14 Arizona = Phoenix, 15 Alaska = Juneau, 16 Alabama = Montgomery 17 ); 18 if (in_array(Juneau, $capitals) 19 20 echo Exists!; 21 else 22 echo Does not exist!; 23 很少有人知道這個函數(shù)也可以確定一個數(shù)組鍵是否存在,在這一點上,它和array_key_exists()函數(shù)的功能一樣。24 $capitals = array( 25 Arizona = Phoenix, 26 Alaska = Jun

9、eau, 27 Alabama = Montgomery 28 ); 29 if (array_key_exists(Alaska, $capitals) 30 31 echo Key exists!; 32 else 33 echo Key does not exist!; 34 9、搜索數(shù)組你可能想搜索數(shù)組資源,這樣用戶就可以方便地用一個特定的州府檢索關(guān)聯(lián)的州,可以通過array_search()函數(shù)實現(xiàn)數(shù)組搜索。35 $capitals = array( 36 Arizona = Phoenix, 37 Alaska = Juneau, 38 Alabama = Montgomery 3

10、9 ); 40 $state = array_search(Juneau, $capitals); 41 / $state = Alaska 10、標(biāo)準(zhǔn)PHP庫標(biāo)準(zhǔn)PHP庫(Standard PHP Library,SPL)為開發(fā)人員提供了許多數(shù)據(jù)結(jié)構(gòu),迭代器,接口,異常和其它以前PHP語言沒有的功能,使用這些功能可以通過面向?qū)ο蟮恼Z法遍歷數(shù)組。42 $capitals = array( 43 Arizona = Phoenix, 44 Alaska = Juneau, 45 Alabama = Montgomery 46 ); 47 $arrayObject = new ArrayObject($capitals); 48 foreach ($arrayObject as $state = $capital) 49 50 printf(The capital of %s is %s, $state, $capital); 51 52 / The capital of Arizona is Phoenix 53 / The capital of Alaska is Juneau 54

溫馨提示

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

評論

0/150

提交評論