国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

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

2024-09-04 11:46:00
字體:
來源:轉載
供稿:網友

數組值的操作

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()

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陇川县| 民县| 孝昌县| 沈丘县| 饶平县| 定远县| 平阳县| 南木林县| 株洲县| 岗巴县| 苏州市| 弥勒县| 婺源县| 繁昌县| 镇雄县| 临湘市| 黔南| 滦平县| 余姚市| 积石山| 龙海市| 富民县| 大新县| 西峡县| 嘉鱼县| 环江| 高台县| 保定市| 廊坊市| 鹿泉市| 邯郸市| 庐江县| 肇庆市| 合山市| 苏州市| 巴中市| 镶黄旗| 瑞丽市| 天祝| 楚雄市| 昌宁县|