在上一章中,我们讨论了数组的初始化和细读。 在本章中,我们将介绍各种 PHP 数组函数,这些功能使我们能够修改,排序,合并,切片和随机排列数组内的数据。
PHP 排序数组
首先,我们将对数组进行排序。
sort.php
在上面的脚本中,我们有一个$names
数组。 我们使用sort()
函数对数组的内容进行排序。
脚本的输出显示未排序和已排序的女性姓名。
rsort()
函数以相反的顺序对数组进行排序。
sort2.php
有一个整数数组。 它按升序和降序排序。
sort()
函数按升序对整数进行排序。
rsort()
函数按降序对整数进行排序。
这是sort2.php
脚本的输出。
在下面的示例中,我们显示了如何对重音字符进行排序。
locale_sort.php
我们有一系列包含特定口音的斯洛伐克语单词。
我们使用setlocale()
功能设置斯洛伐克语区域设置。 语言环境代表特定的地理,政治或文化区域。
$words
是带有重音符号的斯洛伐克语单词的数组。
我们使用sort()
函数以升序对数组进行排序。 我们向函数传递SORT_LOCALE_STRING
标志,该标志告诉sort()
考虑到语言环境。
单词已根据斯洛伐克语标准正确排序。
有时我们需要执行自定义排序。 对于自定义排序,我们在 PHP 中具有usort()
函数。
custom_sorting.php
我们有一个全名数组。 sort()
函数将根据名字对这些字符串进行排序,因为它们在第二个名字之前。 我们创建了一个解决方案,以根据它们的名字对这些名字进行排序。
我们有一个自定义的排序功能。 名称由explode()
功能分割,并将第二个名称与strcmp()
功能进行比较。
usort()
功能接受比较功能作为其第二个参数。
名称将根据其第二名正确排序。
PHP 计算数组大小
count()
函数对数组中的元素数进行计数。 array_sum()
函数计算所有值的总和。 array_product()
函数计算数组中值的乘积。
counting.php
在示例中,我们有一个数字数组。 我们将上述定义的函数应用于数组。
这是脚本的输出。
PHP 唯一值
在下面的示例中,我们在数组中找出唯一值。
unique.php
在此脚本中,数组中有重复项。 array_count_values()
函数返回一个数组,其中包含每个值的出现次数。 array_unique()
函数返回一个没有重复的数组。
第一个数组表示 3 次出现两次,4 次出现 3 次,2 次出现一次。 第二个数组表示数组中存在三个值:3、4 和 2。值 3 的索引为 0,4 的索引为 1,2 的索引为 4。array_unique()
函数保持索引不变。
PHP 切片数组
array_slice()
函数从数组中返回其偏移量和长度参数所指定的元素序列。
slicing.php
在示例中,我们创建了一个整数数组的两个切片。
我们从第一个元素开始创建一个切片; 切片的长度是三个元素。
通过提供负偏移量,可以从数组的末尾创建切片。
这是slicing.php
示例的输出。
PHP 数组指针
PHP 具有内部数组指针。 在下面的示例中,我们介绍了操作该指针的函数。
array_pointer.php
在此示例中,我们使用移动内部数组指针的函数遍历数组。
current()
函数返回数组中的当前元素。 首先,它是数组的第一个元素。 next()
功能使指针前进一个位置。 end()
函数返回最后一个元素。 prev()
元素返回该元素,即当前元素之前的一个位置。 在我们的情况下,它是最后一个元素的下一个。
在这里,我们使用reset()
函数再次将内部指针设置为第一个元素,并仔细阅读$continents
数组。
这是array_pointer.php
脚本的输出。
PHP 合并数组
array_merge()
函数合并数组。
merge.php
在此示例中,我们有两个数组:$names1
和$names2
。 我们使用array_merge()
函数通过合并前两个数组来创建$names
数组。
新数组有六个名称。
PHP 修改数组
可以使用array_push()
,array_pop()
,array_shift()
或array_unshift()
函数修改 PHP 数组。
modify.php
在上面的脚本中,我们使用了修改数组内容的函数。 我们有一个$numbers
数组,其中包含 4 个数字:1、2、3 和 4。
array_push()
函数将一个或多个项目插入数组的末尾。 现在,我们的数组包含值 1、2、3、4、5 和 6。
array_pop()
函数从数组中删除最后一项。 我们的数组现在存储数字 1、2、3、4 和 5。
array_unshift()
函数将-1 和 0 添加到数组的开头。 该数组包含值-1、0、1、2、3、4 和 5。
最后,array_shift()
函数从数组中删除第一项。 现在我们在数组中具有值 0、1、2、3、4 和 5。
这是modify.php
示例的输出。
PHP 范围函数
range()
功能通过自动创建元素序列来简化数组创建。 它接受三个参数:序列开始,序列结束和可选的增量,默认为 1。
range.php
range()
功能使我们能够轻松创建连续数字列表。
创建一个数字为 1,2,… 15 的数组。
通过指定负增量可以创建值的降序序列。
这是range.php
功能的输出。
PHP 随机化数组值
array_rand()
函数从数组中选择一个或多个随机条目。 shuffle()
函数可将数组中元素的顺序随机化。
randomize.php
在示例中,我们从数组中选择随机值,并随机化其元素顺序。
array_rand()
函数从$num
数组返回一个随机密钥。
在这种情况下,array_rand()
函数返回两个随机密钥的数组。
这是randomize.php
程序的示例输出。
PHP in_array
函数
in_array()
函数检查数组中是否有特定元素。
inarray.php
我们的脚本检查$names
数组中是否为’Jane’和’Monica’。
简中有简,但莫妮卡中没有。
PHP 数组键和值
PHP 数组是一个由键和值对组成的关联数组。
keysvalues.php
array_keys()
函数返回数组的所有键。 array_values()
函数返回数组的所有值。
第一行包含顶级域名。 这些是$domains
数组的键。 第二行是相应国家的名称。 这些是数组的值。
PHP array_walk
函数
array_walk()
函数将用户定义的函数应用于数组的每个成员。
array_walk.php
我们有一个$countries
数组。 我们将show_values
函数应用于数组的每个元素。 该函数仅打印每个元素的键和值。
这是array_walk()
功能的输出。