多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > PHP學習筆記之數組值及數組遍歷和排序

PHP學習筆記之數組值及數組遍歷和排序

來源:程序員人生   發布時間:2013-11-29 13:00:09 閱讀次數:2862次

數組值的操作

1.值的析取

PHP中,用list來析取數組中的值,如list($a, $b) = $array,如果list中的值多于數組個數,list中多余的值會設為NULL,也可以用逗號來跳過數組中的值,如list($a, ,$b) = $array。

2.劃分數組

如果想取得子數組,可以用array_slice(array, offset, length);來取得。它返回一個新的下標從0開始的數組。如果原數組的下標是字符串,好像是沒有什么意義的,最好不要用,可以用array_splice來取得子串。

3.將數組分為多個數組

用array_chunk可以把數組分成一個二維數組。詳細的可以通過鏈接看官方的說明。

4.鍵和值

array_keys($array),取得由數組索引組成的數組

array_value($array),取得由數組值組成的數組,索引從0開始重新分配。

array_key_exists($key, array),元素是否存在檢查。

array_splice, 刪除插入元素。

5.數組和變量之間的轉換

extract(array) 把數組變成變量

compact() 把變量變成數組

6.數組的查找

in_array(array, ) 返回元素是否在數組中存在。

array_search() 返回被找到元素的索引。

7.整個數組函數

array_ sum() 計算數組的和。

array_ merge() 合并兩個數組。

array_ diff() 兩個數組之間的不同值。

array_ filter() 過濾元素

8.集合、堆棧、隊列

array_ unique() 取兩個數組的合集,如果值相同,保留前一個數組的索引。

array_ intersect() 取兩個數級的交集,保留第一個數組的索引。

array_ push() 加入堆棧。

array_ pop() 彈出堆棧。

array_ shift() 加入隊列。

array_ unshift() 彈出隊列。

1.簡單的遍歷

PHP中,數組最簡單的遍歷方法莫過于for和foreach了,其中foreach有兩種寫法,一種只遍歷值、另一種遍歷索引和值,具體可以看如下代碼.

  1. $test01 = array('a''b''c'); 
  2. // for 
  3. for ($i = 0; $i < count($test01); $i++) {      
  4.     echo $test01[$i];  
  5. }  
  6. // foreach value only  
  7. foreach ($test01 as $value) { 
  8.     echo $value;  
  9. }  
  10. // foreach key and value  
  11. $test01 = array('a' => 'aaaa''b' => 'bbbb''c' => 'cccc'); 
  12. foreach ($test01 as $key => $value) { 
  13.     echo "$key => $value"
  14. }  

2.迭代器遍歷

PHP中,迭代遍歷主要要用到以下函數。

current() 迭代的當前元素。

reset() 重新移動到第一個元素并返回它。

next() 移動到下一個元素并返回它。

prev() 移動到上一個元素并返回它。

end() 移動到最后一個元素并返回它。

each() 以數組的形式返回當前元素的索引和值,并移動到下一個迭代。

key() 返回當前的索引。

array_ walk() 為每一個元素調用函數。

array_ reduce() 為每一個元素依次計算。

實例代碼如下:

  1. $test01 = array('a' => 'aaaa''b' => 'bbbb''c' => 'cccc'); 
  2. while (list($key$value) = each($test01)) { 
  3.     echo "$key => $value" . "n"
  4. array_walk($test01, walk_test); 
  5. function walk_test($key$value) { 
  6.     echo "walk: $key => $value" . "n"
  7. $test02 = array(1, 2, 3, 4, 5); 
  8. echo array_reduce($test02, reduce_test); 
  9. function reduce_test($run_result$current_value) { 
  10.     return $run_result + $current_value * $current_value

3.數組的排序

在PHP中,排序方式有三種,通過索引排序、通過值排序(不保留原索引)、通過值排序(保留原索引)。每種又分為升序、降序以及用戶定義順序三個函數。它們分別如下:

通過索引排序:①升序 ksort() ②降序 krsort() ③用戶定義順序 uksort()

不保留原索引值排序:①升序 sort() ②降序 rsort() ③用戶定義順序 usort()

保留原索引值排序:①升序 asort() ②降序 arsort() ③用戶定義順序 uasort()

在PHP中,也可以用array_multisort來一次排序多個數組,不過項目中可能用得比較少。

翻轉數組,把數字索引翻轉,索引重新從0開始:array_reverse()

把索引和值調換:array_flip()

隨機順序:shuffle()

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 一级毛片免费视频观看 | free性日韩高清videos | 欧美激情站| 久久精品综合国产二区 | 成人精品一区二区不卡视频 | 久久91久久91精品免费观看 | 久久精品二三区 | 日本免费高清视频二区 | 免费久久精品视频 | 欧美一区二区三区在观看 | 亚洲综合久久久 | 欧美人与动人物姣配xxxx | 天堂中文在线乱码 | 国产1区精品 | 久久久高清日本道免费观看 | 18到20女人一级毛片 | 欧美色图校园春色 | jizz日本免费 | 欧美男人天堂网 | 最近中文字幕最新在线视频 | 影音先锋 色天使 | 91久久九九精品国产综合 | 免费在线观看亚洲 | 午夜dj高清免费观看视频www | 亚洲性综合网 | 热久久视久久精品18国产 | 男人久久| 国产欧美二区 | 免费在线视频播放 | 在线观看中文字幕亚洲 | 欧美1069 | 国产精品a v 免费视频 | 国美女福利视频午夜精品 | 亚洲日韩欧美综合 | 欧美另类网站 | 男女视频免费看 | 欧美日韩欧美 | 午夜影院在线视频 | 日韩福利网站 | www.av视频在线观看 | 久久综合国产 |