Home Backend Development PHP Tutorial Summary of commonly used array functions in PHP (reprinted)

Summary of commonly used array functions in PHP (reprinted)

Aug 08, 2016 am 09:31 AM
apple arr array function quot

1. Basic functions of array operations
Key names and values ​​of arrays
is_array($arr); //判断是否为数组
count($arr);  //统计数组中元组的个数
array_count_values($arr); //统计数组中元素出现的次数 返回的是一个数组
array_values($arr);  获得数组的值
array_keys($arr);  获得数组的键名
array_flip($arr);  数组中的值与键名互换(如果有重复前面的会被后面的覆盖)
in_array("apple",$arr);  在数组中检索apple
array_search("apple",$arr);  在数组中检索apple ,如果存在返回键名
array_key_exists("apple",$arr);  检索给定的键名是否存在数组中
isset($arr[apple]):   检索给定的键名是否存在数组中
Copy after login

Internal pointers of arrays
current($arr);  返回数组中的当前单元
pos($arr);  返回数组中的当前单元
key($arr);  返回数组中当前单元的键名
prev($arr);  将数组中的内部指针倒回一位
next($arr);  将数组中的内部指针向前移动一位
end($arr);  将数组中的内部指针指向最后一个单元
reset($arr;  将数组中的内部指针指向第一个单元
each($arr);  将返回数组当前元素的一个键名/值的构造数组,并使数组指针向前移动一位
list($key,$value)=each($arr);  获得数组当前元素的键名和值
Copy after login

Conversion between arrays and variables
extract($arr);用于把数组中的元素转换成变量导入到当前文件中,键名当作变量名,值作为变量值
注:(第二个参数很重要,可以看手册使用)使用方法 echo $a;
compact(var1,var2,var3);用给定的变量名创建一个数组
Copy after login

2. Segmentation and filling of arrays
Array Segmentation

array_slice($arr,0,3);  可以将数组中的一段取出,此函数忽略键名
array_splice($arr,0,3,array("black","maroon"));  可以将数组中的一段取出,与上个函数不同在于返回的序列从原数组中删除
Copy after login

Split multiple arrays
array_chunk($arr,3,TRUE);  可以将一个数组分割成多个,TRUE为保留原数组的键名
Copy after login

Padding of arrays
array_pad($arr,5,'x');  将一个数组填补到制定长度
Copy after login

3. Arrays and stacks LIFO

array_push($arr,"apple","pear");  将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素的个数
array_pop($arr);  将数组栈的最后一个元素弹出(出栈)
Copy after login

4. Arrays and queues
array_shift($arr);数组中的第一个元素移出并作为结果返回(数组长度减1,其他元素向前移动一位,数字键名改为从零技术,文字键名不变)
array_unshift($arr,"a",array(1,2));在数组的开头插入一个或多个元素
Copy after login

5. Callback function
array_walk($arr,'function','words');  使用用户函数对数组中的每个成员进行处理(第三个参数传递给回调函数function)
array_map("function",$arr1,$arr2);  可以处理多个数组(当使用两个或更多数组时,他们的长度应该相同)
array_filter($arr,"function");  使用回调函数过滤数组中的每个元素,如果回调函数为TRUE,数组的当前元素会被包含在返回的结果数组中,数组的键名保留不变
array_reduce($arr,"function","*");  转化为单值函数(*为数组的第一个值)
Copy after login

6. Sorting of arrays

Sort the array by elements

sort($arr);  由小到大的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
rsort($arr);  由大到小的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
usort($arr,"function");  使用用户自定义的比较函数对数组中的值进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)忽略键名的数组排序
asort($arr);  由小到大的顺序排序(第二个参数为按什么方式排序)保留键名的数组排序
arsort($arr);  由大到小的顺序排序(第二个参数为按什么方式排序)保留键名的数组排序
uasort($arr,"function");  使用用户自定义的比较函数对数组中的值进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)保留键名的数组排序
Copy after login


Sort the array by key name

ksort($arr);  按照键名正序排序
krsort($arr);  按照键名逆序排序
uksort($arr,"function");  使用用户自定义的比较函数对数组中的键名进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)
Copy after login

Sort by natural sorting method
natsort($arr);  自然排序(忽略键名)
natcasesort($arr);  自然排序(忽略大小写,忽略键名)
Copy after login

7. Calculation of arrays
Sum of array elements

array_sum($arr);  对数组内部的所有元素做求和运算
Copy after login

Merge of arrays
array_merge($arr1,$arr2);  合并两个或多个数组(相同的字符串键名,后面的覆盖前面的,相同的数字键名,后面的不会做覆盖操作,而是附加到后面)
“+”$arr1+$arr2;  对于相同的键名只保留后一个
array_merge_recursive($arr1,$arr2);   递归合并操作,如果数组中有相同的字符串键名,这些值将被合并到一个数组中去。如果一个值本身是一个数组,将按照相应的键名把它合并为另一个数组。当数组 具有相同的数组键名时,后一个值将不会覆盖原来的值,而是附加到后面
Copy after login

Difference of arrays
array_diff($arr1,$arr2);  返回差集结果数组
array_diff_assoc($arr1,$arr2,$arr3);  返回差集结果数组,键名也做比较
Copy after login

Intersection of arrays
array_intersect($arr1,$arr2);  返回交集结果数组
array_intersect_assoc($arr1,$arr2);  返回交集结果数组,键名也做比较
Copy after login

8. Other array functions
range(0,12);  创建一个包含指定范围单元的数组
array_unique($arr);  移除数组中重复的值,新的数组中会保留原始的键名
array_reverse($arr,TRUE);  返回一个单元顺序与原数组相反的数组,如果第二个参数为TRUE保留原来的键名
//srand((float)microtime()*10000000);   随机种子触发器
array_rand($arr,2);  从数组中随机取出一个或 多个元素
implode($glue, $arr);//将字符串按 $glue 分割连接成一个字符串
shuffle($arr);  将数组的顺序打乱
Copy after login

The above has introduced a summary of commonly used array functions in PHP (reprinted), including relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Update | Hacker explains how to install Epic Games Store and Fortnite on iPad outside the EU Update | Hacker explains how to install Epic Games Store and Fortnite on iPad outside the EU Aug 18, 2024 am 06:34 AM

Update: Saunders Tech has uploaded a tutorial to his YouTube channel (video embedded below) explaining how to install Fortnite and the Epic Games Store on an iPad outside the EU. However, not only does the process require specific beta versions of iO

Apple\'s \'HomeAccessory\' device revealed to have an A18 chipset among other features Apple\'s \'HomeAccessory\' device revealed to have an A18 chipset among other features Sep 27, 2024 am 09:02 AM

Fresh details of Apple's HomePod-like device with an integrated screen have surfaced and they paint a clearer picture of the device which has been referred to as 'HomeAccessory'. When it launches, it will be Apple's answer to Google's Nest Hub Max an

Apple iPhone 16 and iPhone 16 Plus launched with 48MP \'Fusion camera\', Camera Control and A18 chip Apple iPhone 16 and iPhone 16 Plus launched with 48MP \'Fusion camera\', Camera Control and A18 chip Sep 10, 2024 am 09:30 AM

Apple has officially announced the iPhone 16 and iPhone 16 Plus, introducing key hardware updates with the new A18 chip. Both models come in two sizes—6.1 inches and 6.7 inches—with Super Retina XDR displays. They also feature aluminum designs and ar

iPhone 16 Pro and iPhone 16 Pro Max official with new cameras, A18 Pro SoC and larger screens iPhone 16 Pro and iPhone 16 Pro Max official with new cameras, A18 Pro SoC and larger screens Sep 10, 2024 am 06:50 AM

Apple has finally lifted the covers off its new high-end iPhone models. The iPhone 16 Pro and iPhone 16 Pro Max now come with larger screens compared to their last-gen counterparts (6.3-in on the Pro, 6.9-in on Pro Max). They get an enhanced Apple A1

Apple analyst offers new insights into upcoming iPhone 16, iPhone SE 4 and even rumoured iPhone 17 Air releases Apple analyst offers new insights into upcoming iPhone 16, iPhone SE 4 and even rumoured iPhone 17 Air releases Aug 12, 2024 pm 10:01 PM

Apple's next-generation iPhones are right around the corner. While the company has not shared the date of a new launch event yet, all signs appear to point to a September release, just like last year's iPhone 15 series. Incidentally, footage of dummy

New Apple iPhone 16 design and colours shown in comparison video against iPhone 15 New Apple iPhone 16 design and colours shown in comparison video against iPhone 15 Aug 12, 2024 am 06:59 AM

The launches of Apple's next iPhones are not expected for at least another month. Nonetheless, footage showing dummy iPhone 16 units in what are said to be official launch colours continues to emerge online. Incidentally, while Google previously rele

iOS 18 beta now supports Adaptive Lighting on Matter smart bulbs iOS 18 beta now supports Adaptive Lighting on Matter smart bulbs Aug 14, 2024 pm 12:48 PM

In addition to the generative AI features plannedfor iOS 18, several Reddit users have discovered that the iOS 18.1 beta enables Adaptive Lighting by default for Nanoleaf’s Matter-compatible smart bulbs. Adaptive Lightning, a staple of Apple Home sin

Analyst discusses launch pricing for rumoured Meta Quest 3S VR headset Analyst discusses launch pricing for rumoured Meta Quest 3S VR headset Aug 27, 2024 pm 09:35 PM

Over a year has now passed from Meta's initial release of the Quest 3 (curr. $499.99 on Amazon). Since then, Apple has shipped the considerably more expensive Vision Pro, while Byte Dance has now unveiled the Pico 4 Ultra in China. However, there is

See all articles