成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

玩轉PHP關聯數組的10個技巧

原創
開發 后端 前端
關聯數組是描述一組鍵及其關聯值時經常使用的一種數據類型,可以說它是所有編程語言的支柱,文章將介紹10個操作PHP關聯數組的技巧,熟練運用能幫助你提高開發效率。

【51CTO譯文】關聯數組是描述一組鍵及其關聯值時經常使用的一種數據類型,可以說它是所有編程語言的支柱,當然,PHP也不例外,實際上,關聯數組對Web開發任務來說是非常重要的,PHP支持多種操作關聯數組的方法,對開發人員來說,要從中找出最有效,最合適自己所開發程序的方法來操縱這些數組。

這篇文章將介紹10個操作PHP關聯數組的技巧,熟練運用能幫助你提高開發效率。

1、添加數組元素

PHP是一種弱類型語言,這意味著你不需要顯示聲明一個數組及其大小,相反,你可以同時聲明并填充數組。

  1. $capitals = array(  
  2.   'Alabama' => 'Montgomery',  
  3.   'Alaska'  => 'Juneau',  
  4.   'Arizona' => 'Phoenix'  
  5. ); 

額外的數組元素可以象下面這樣追加:

  1. $capitals['Arkansas'] = 'Little Rock'; 

如果你正在處理數字索引數組,你可能想使用顯示命名的函數前置和追加元素,如array_push()和array_unshift()函數,但這些函數不能操作關聯數組。

2、刪除數組元素

如果要從數組中刪除一個元素,請使用unset()函數,如:

  1. unset($capitals['California']); 

使用數字索引數組時,刪除數組元素的辦法更多,更靈活,可以使用array_shift()和array_pop()函數分別從數組的開頭和末尾刪除一個元素。

3、交換鍵和值

假設你想創建一個名叫$states的新數組,使用州府作為索引,使用州名作為關聯值,使用array_flip()函數很容易完成這個任務。

  1. $capitals = array(  
  2.   'Alabama' => 'Montgomery',  
  3.   'Alaska'  => 'Juneau',  
  4.   'Arizona' => 'Phoenix'  
  5. );  
  6. $states = array_flip($capitals);  
  7. // $states = array(  
  8. //  'Montgomery' => string 'Alabama',  
  9. //  'Juneau'     => string 'Alaska',  
  10. //  'Phoenix'    => string 'Arizona'  
  11. // ); 

4、合并數組

假設前面的數組由一個基于Web的“FlashCard”服務使用,你想提供一種方法測試學生對美國各州***的掌握情況,你可以使用array_merge()函數合并包含州和***的數組。

  1. $stateCapitals = array(  
  2.   'Alabama' => 'Montgomery',  
  3.   'Alaska'  => 'Juneau',  
  4.   'Arizona' => 'Phoenix'  
  5. );  
  6. $countryCapitals = array (  
  7.   'Australia' => 'Canberra',  
  8.   'Austria'   => 'Vienna',  
  9.   'Algeria'   => 'Algiers'  
  10. );  
  11. $capitals = array_merge($stateCapitals, $countryCapitals); 

5、編輯數組值

假設在數組中的數據包含大小寫錯誤,在插入到數據庫之前,你想糾正這些錯誤,你可以使用array_map()函數給每個數組元素應用一個回調。

  1. function capitalize($element)  
  2. {  
  3.   $element = strtolower($element);  
  4.   return ucwords($element);  
  5. }  
  6. $capitals = array(  
  7.   'Alabama' => 'montGoMEry',  
  8.   'Alaska'  => 'Juneau',  
  9.   'Arizona' => 'phoeniX'  
  10. );  
  11. $capitals = array_map("capitalize", $capitals); 

#p#

6、按鍵對數組排序

FlashCard程序常常使用各種排序,如按字母順序排序,你可以使用ksort()函數按鍵對關聯數組進行排序。

  1. $capitals = array(  
  2.   'Arizona' => 'Phoenix',  
  3.   'Alaska'  => 'Juneau',  
  4.   'Alabama' => 'Montgomery'  
  5. );  
  6. ksort($capitals); 

因為數組是通過參數傳遞給ksort()函數的,意味著你不再需要將排序結果分配給另一個變量。

7、隨機數組排序

在FlashCard程序中還涉及到另一種隨機排序技術,這時你要使用shuffle()函數實現數組項目的隨機排序。

  1. $capitals = array(  
  2.   'Arizona' => 'Phoenix',  
  3.   'Alaska'  => 'Juneau',  
  4.   'Alabama' => 'Montgomery'  
  5. );  
  6. shuffle($capitals); 

如果不需要打亂數組順序,你只是想隨機選擇一個值,那么使用array_rand()函數即可。

8、確定鍵和值是否存在

你可以使用in_array()函數確定一個數組元素是否存在。

  1. $capitals = array(  
  2.   'Arizona' => 'Phoenix',  
  3.   'Alaska'  => 'Juneau',  
  4.   'Alabama' => 'Montgomery'  
  5. );  
  6. if (in_array("Juneau", $capitals))  
  7. {  
  8.   echo "Exists!";  
  9. } else {  
  10.   echo "Does not exist!";  

很少有人知道這個函數也可以確定一個數組鍵是否存在,在這一點上,它和array_key_exists()函數的功能一樣。

  1. $capitals = array(  
  2.   'Arizona' => 'Phoenix',  
  3.   'Alaska'  => 'Juneau',  
  4.   'Alabama' => 'Montgomery'  
  5. );  
  6. if (array_key_exists("Alaska", $capitals))  
  7. {  
  8.   echo "Key exists!";  
  9. } else {  
  10.   echo "Key does not exist!";  

9、搜索數組

你可能想搜索數組資源,這樣用戶就可以方便地用一個特定的州府檢索關聯的州,可以通過array_search()函數實現數組搜索。

  1. $capitals = array(  
  2.   'Arizona' => 'Phoenix',  
  3.   'Alaska'  => 'Juneau',  
  4.   'Alabama' => 'Montgomery'  
  5. );  
  6. $state = array_search('Juneau', $capitals);  
  7. // $state = 'Alaska' 

10、標準PHP庫

標準PHP庫(Standard PHP Library,SPL)為開發人員提供了許多數據結構,迭代器,接口,異常和其它以前PHP語言沒有的功能,使用這些功能可以通過面向對象的語法遍歷數組。

  1. $capitals = array(  
  2.   'Arizona' => 'Phoenix',  
  3.   'Alaska'  => 'Juneau',  
  4.   'Alabama' => 'Montgomery'  
  5. );  
  6. $arrayObject = new ArrayObject($capitals);  
  7. foreach ($arrayObject as $state => $capital)  
  8. {  
  9.   printf("The capital of %s is %s<br />", $state, $capital);  
  10. }  
  11. // The capital of Arizona is Phoenix  
  12. // The capital of Alaska is Juneau  
  13. // The capital of Alabama is Montgomery 

這僅僅是SPL眾多偉大功能中的一個,一定要閱讀PHP文檔了解更多信息。

原文明:10 PHP Tricks for Associative Array Manipulation                黃永兵 譯

原文鏈接:http://www.phpbuilder.com/columns/associative-array-manipulation/Jason_Gilmore12092010.php3

【51CTO獨家譯文,轉載請表明出處及作者!】

【編輯推薦】

  1. PHP生成隨機字符串的三種方法
  2. 改善PHP開發方式的5種方法
  3. 解讀PHP異常機制的流程及原理
  4. 深入理解PHP中的匿名函數 
責任編輯:王曉東 來源: 51CTO.com
相關推薦

2009-11-24 19:25:32

PHP關聯數組

2009-11-17 17:07:01

PHP關聯數組

2009-11-24 19:40:07

PHP關聯數組查詢結果

2010-07-16 10:30:10

Perl關聯數組

2010-07-16 10:20:46

Perl關聯數組

2010-07-19 15:31:10

Perl關聯數組函數

2010-07-19 09:28:37

Perl關聯數組

2010-07-16 10:38:24

Perl關聯數組

2009-12-04 14:41:11

PHP數組變成JSON

2016-11-20 20:08:38

Web設計站點性能遠程辦公

2010-07-13 09:58:51

Perl關聯數組

2012-11-23 13:14:52

2023-07-02 14:21:06

PythonMatplotlib數據可視化庫

2015-09-25 13:37:02

技巧開始菜單

2020-06-08 07:52:31

Python開發工具

2009-11-17 15:57:26

PHP數組合并

2009-12-09 09:38:15

PHP序列化數組

2020-06-30 08:28:29

Vue開發前端

2014-07-29 13:55:10

程序員代碼

2021-03-15 08:13:19

JavaScript開發代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久草青青草 | 久久av一区 | 国产 欧美 日韩 一区 | 日本a网站 | 欧洲色 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 欧美成ee人免费视频 | 日本中文在线 | 国产美女一区二区 | 成人一区在线观看 | 伊人影院在线观看 | 午夜影院黄 | 亚洲精品一区二区三区四区高清 | 久久精品国产一区二区三区 | 日韩一区二区免费视频 | 91热爆在线观看 | 亚洲视频在线观看 | 一级免费a | 美女国内精品自产拍在线播放 | 一级黄色短片 | 中文字幕在线第二页 | 伊人网综合 | 日本一区二区三区四区 | 日韩欧美不卡 | 欧美在线| 色www精品视频在线观看 | 91免费入口| 精品欧美乱码久久久久久1区2区 | 国际精品鲁一鲁一区二区小说 | 91色在线 | 日本小视频网站 | 国产精品国产精品国产专区不蜜 | 一区二区三区四区电影视频在线观看 | 亚洲区一区二区 | 亚洲视频在线看 | 亚洲一级av毛片 | 久久久久国产一区二区三区 | 一级毛片视频在线观看 | 亚洲美女一区 | 欧美 日韩 亚洲91麻豆精品 | 久久久久久999 |