首頁 後端開發 php教程 匯總PHP常見數組函數(附程式碼實例)

匯總PHP常見數組函數(附程式碼實例)

Sep 24, 2021 pm 03:05 PM
php

一、陣列的一些關於鍵名和值的基礎運算子
1.取得陣列所有的鍵或值:array_keys() array_values()

$arr_keys = array_keys($array);$arr_values = array_values($arr);
登入後複製

2.交換數組中鍵和值的位置,若重複前面的會被後面的覆蓋:array_flip()

$arr2 = array_flip($arr);
登入後複製

3.給定的值是否在陣列中:in_array(value,array)

$bool = in_array('hello',$arr);
登入後複製

4.在陣列中搜尋某個值,在則傳回它的鍵,不在則傳回FALSE:array_search ()

$bool = array_search('hello',$arr);
登入後複製

5.給定鍵是否存在數組中:isset(array[key])array_key_exists(key,array)

$bool = array_key_exists('a',$arr);
登入後複製

6.取得數組元素的個數:count(array,mode),mode為1時表示遞歸地對數組進行計數,預設為0。別名sizeof()

$n = count($arr);  //等价于:$n = sizeof($arr);
登入後複製

7.將陣列中的鍵名改為全小寫或大寫:array_change_key_case(array,case)。 case有兩個常用量:CASE_UPPERCASE_LOWER(預設值),即預設全小寫

$lowarr = array_change_key_case($arr,CASE_LOWER);
登入後複製

8.統計數組中所有的值出現的次數: array_count_value(array)。傳回一個數組,鍵是原始數組的值,值是這個元素在原始數組出現的次數

$arr_count = array_count_values($arr);
登入後複製

9.得到數組的第一個或最後一個鍵名:array_key_first(array)array_key_last(array)

$key = array_key_first($arr)
登入後複製

10.彈出數組的最後一個元素:

$last = array_pop($array);
登入後複製

將一個或多個單元壓入數組的末尾或數組的開頭,並傳回新陣列的數量:

$new_array = array_push($array,$value1,$value2,...);$new_array = array_unshift($array,$value1,$value2,...);
登入後複製

11.將陣列反序:array_reverse(array)

$reverse = array_reverse($arr)
登入後複製

12.對陣列中所有值求和或求乘積:

$sum = array_sum($array);$product = array_product($array);
登入後複製

13.移除陣列中重複的值:

array_unique($array,,SORT_STRING);sort_falgs参数用于修改排序行为:SORT_NUMERIC - 按照数字形式比较、SORT_STRING - 按照字符串形式比较
登入後複製

14.打亂陣列:shuffle(array)

#
$bool = shuffle($arr);
登入後複製

15 .從陣列中隨機取得一個或多個鍵名:array_rand(array,num=1),傳回包含隨機鍵名的陣列。

二、數組的一些關於創建和分割的操作函數總結
1.將一個數組分割成多個數組:array_chunk(array,size,preserve_keys)
參數:
size:指明每個陣列的元素數量
preserve_keys:指明是否保留原來的鍵名,預設為false
函數傳回一個二維數組

$myarr = array_chunk($arr,2)
登入後複製

2.建立一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值:array_combine(keys,values)

$arr_1 = ['A','B','C'];$arr_2 = ['a','b','c'];$arr_3 = array_combine($arr_1,$arr_2);
登入後複製

3.使用指定的鍵和值填入數組:array_fill_keys(keys,value)

$keys = array('foo', 5, 10, 'bar');$a = array_fill_keys($keys, 'banana');
登入後複製

4.用給定的值填入陣列: array_fill(start_index,num,value)
參數:
start_index:陣列的第一個索引
num:插入元素的數量,即數組的長度,必須為非負數
value:用來填入的值

$arr = array_fill(0,10,'myname');
登入後複製

5.合併一個或多個數組:array_merge(array1, array2...)
鍵名相同時,若是字元鍵名則會被覆蓋,數字鍵名則不會被覆蓋,而是附加到後面

$a = array_merge($arr_1,$arr_2);
登入後複製

6.遞歸的合併一個或多個數組:array_merge_recursive(array_1,array_2,...)
如果數組具有相同的數組鍵名,後一個值將不會覆蓋原來的值,而是附加到後面.

7.以指定長度將一個值填入數組:array_pad(array,size,value)
參數:
size:填滿後數組的長度,為正則填入數組的右側,為負則填入數組的左側
value:用來填入的值

8.從數組中取出一段:array_slice(array,offset,length,preserve_keys)
參數:
offset:開始的偏移量,正負皆可
length:取得的長度,正數表示取得元素的個數,負數表示距離陣列末端的距離
preserve_keys:是否保留原來的鍵名

# 10.去掉數組中的某一部分並用其它值取代:array_splice(array,offset,length,replacement_array)
參數:
#replacement_array:移除的單元被此數組中的單元替代

11.使用變數建立數組:compact(var1,var2,...),變數名為鍵名,變數值為元素的值

12.從陣列中導出變數:extract(array),鍵名為變數名,值為變數的值

13.把陣列的值賦予變數:list(var1,var2,...)

list($drink, , $power) = array('coffee', 'brown', 'caffeine');
登入後複製

14.根據範圍建立數組,包含指定的元素:range(start,end,step)

range(0,8,2) ==> [0,2,4,6,8]
登入後複製

三、数组排序基本函数名为 sort
可以添加其他拓展:r表示逆向排序,k表示对键名进行排序,a表示保持索引关系,u表示用自定义的函数进行比较 1.详细介绍sort函数的情况,其他的函数类似

/*bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )SORT_REGULAR参数可以用以下值改变排序的行为:SORT_REGULAR - 正常比较单元(不改变类型)SORT_NUMERIC - 单元被作为数字来比较SORT_STRING - 单元被作为字符串来比较SORT_LOCALE_STRING - 根据当前的区域(locale)设置来把单元当作字符串比较,可以用 setlocale() 来改变。SORT_NATURAL - 和 natsort() 类似对每个单元以“自然的顺序”对字符串进行排序。 PHP 5.4.0 中新增的。SORT_FLAG_CASE - 能够与 SORT_STRING 或 SORT_NATURAL 合并(OR 位运算),不区分大小写排序字符串。 */
登入後複製

排序函数分类大致如下:

2.sort()、rsort():对值进行升序和降序的排序3.ksort()、krsort():对键名进行升序和降序的排序4.asort()、arsort():保持索引关系的同时,对值进行升序和降序的排序5.usort()、uksort()、uasort():使用自定义的排序函数,进行按值的升序排序、按键名的升序排序、保持索引关系的升序排序6.natsort():使用自然排序算法对数组进行排序7.natcasesort():使用自然排序算法对数组进行不区分大小写字母的排序
登入後複製

四、数组运算
数组差集的计算 u表示用自定义的回调函数,diff表示用数据做差集,assoc表示用索引做差集

1.计算数组的差集:array_diff(array1,array2,...) 对比array1和其他数组,返回在array1中但不在其他数组中的值。返回一个数组,但是键名不保留

2.用回调函数比较数据来计算数组的差集:array_udiff(arr1,arr2,...,value_cpmpare_func)
使用用户自定义的函数进行数据比较,而不是内置的函数。

3.使用键名比较计算数组的差集:array_diff_key(array1,array2,...)
使用键名而不是值来进行差集计算

4.用回调函数对键名比较计算数组的差集:array_diff_ukey(arr1,arr2,...,key_compare_func)

5.带索引检查计算数组的差集:array_diff_assoc(array1,array2,..)
同时使用键名和值来进行差集计算

6.带索引检查计算数组的差集,用回调函数比较索引:array_diff_uassoc(arr1,arr2,...,key_compare_func)
key_compare_func:用户自定义的用于比较键名的函数。

7.带索引检查计算数组的差集,用回调函数比较数据:array_udiff_assoc(arr1,arr2,...,value_cpmpare_func)
value_cpmpare_func:用户自定义的用于比较数据的函数

8.用回调函数比较数据和索引,计算数组的差集:array_udiff_uassoc(arr1,arr2,...,value_cpmpare_func,key_compare_func)

数组交集的计算 同差集一样,也有8个函数:

array_intersect()                     使用数据进行交集比较array_uintersect()                    使用数据进行交集比较,但是自定义函数比较array_intersect_key()                 使用键名进行交集比较array_intersect_ukey()                使用键名进行交比较,但是自定义函数比较array_intersect_assoc()               同时使用数据和键名array_intersect_uassoc()              同时使用数据和键名,但是键名使用自定义函数比较array_uintersect_assoc()              同时使用数据和键名,但是数据使用自定义函数比较array_uintersect_uassoc()             同时使用数据和键名,都使用自定义函数
登入後複製

推荐学习:《PHP视频教程

以上是匯總PHP常見數組函數(附程式碼實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

我後悔之前不知道的 7 個 PHP 函數 我後悔之前不知道的 7 個 PHP 函數 Nov 13, 2024 am 09:42 AM

如果您是經驗豐富的PHP 開發人員,您可能會感覺您已經在那裡並且已經完成了。操作

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? 什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

See all articles