PHP数组函数:排序、过滤、查找和操作指南
PHP是一门十分流行的编程语言,常用于动态网站开发。而对于PHP来说,数组是最为常见的数据类型之一,它能够存储大量的数据并提供高效的操作方法。在PHP中,有许多数组函数,用来进行排序、过滤、查找和操作等。本文将对这些函数进行简单介绍和指导。
一、PHP数组排序函数
1. sort()函数
sort()函数用来对数组进行升序排列,即从小到大排序。该函数改变原数组,返回值为布尔值。如果排序成功则返回true,否则返回false。
示例:
$arr = array(3, 8, 5, 1, 2, 9); sort($arr); print_r($arr);
输出结果如下:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 5
[4] => 8
[5] => 9
)
2. rsort()函数
rsort()函数用来对数组进行降序排列,即从大到小排序。该函数改变原数组,返回值为布尔值。如果排序成功则返回true,否则返回false。
示例:
$arr = array(3, 8, 5, 1, 2, 9); rsort($arr); print_r($arr);
输出结果如下:
Array
(
[0] => 9
[1] => 8
[2] => 5
[3] => 3
[4] => 2
[5] => 1
)
3. asort()函数
asort()函数用来对数组进行升序排列,同时保留数组的键,即将键值与对应的元素一起排序。该函数改变原数组,返回值为布尔值。如果排序成功则返回true,否则返回false。
示例:
$arr = array( "D" => "Dog", "C" => "Cat", "B" => "Bear", "A" => "Ant" ); asort($arr); print_r($arr);
输出结果如下:
Array
(
[A] => Ant
[B] => Bear
[C] => Cat
[D] => Dog
)
4. arsort()函数
arsort()函数用来对数组进行降序排列,同时保留数组的键,即将键值与对应的元素一起排序。该函数改变原数组,返回值为布尔值。如果排序成功则返回true,否则返回false。
示例:
$arr = array( "D" => "Dog", "C" => "Cat", "B" => "Bear", "A" => "Ant" ); arsort($arr); print_r($arr);
输出结果如下:
Array
(
[D] => Dog
[C] => Cat
[B] => Bear
[A] => Ant
)
5. ksort()函数
ksort()函数用来对数组的键进行升序排列,同时保留元素和键的对应关系。该函数改变原数组,返回值为布尔值。如果排序成功则返回true,否则返回false。
示例:
$arr = array( "D" => "Dog", "C" => "Cat", "B" => "Bear", "A" => "Ant" ); ksort($arr); print_r($arr);
输出结果如下:
Array
(
[A] => Ant
[B] => Bear
[C] => Cat
[D] => Dog
)
6. krsort()函数
krsort()函数用来对数组的键进行降序排列,同时保留元素和键的对应关系。该函数改变原数组,返回值为布尔值。如果排序成功则返回true,否则返回false。
示例:
$arr = array( "D" => "Dog", "C" => "Cat", "B" => "Bear", "A" => "Ant" ); krsort($arr); print_r($arr);
输出结果如下:
Array
(
[D] => Dog
[C] => Cat
[B] => Bear
[A] => Ant
)
二、PHP数组过滤函数
1. array_filter()函数
array_filter()函数用来过滤数组中不符合条件的元素,返回一个新的数组。该函数的第一个参数为需要过滤的数组,第二个参数为过滤规则的回调函数。
示例:
数组中保留大于3的元素:
$arr = array(1, 2, 3, 4, 5);
$newarr = array_filter($arr, function($value) {
return ($value > 3);
});
print_r($newarr);
输出结果如下:
Array
(
[3] => 4
[4] => 5
)
2. array_unique()函数
array_unique()函数用来去重数组中的元素,返回一个新的数组。该函数的第一个参数为需要进行去重的数组,第二个参数为是否保留数组的键,默认为false。
示例:
$arr = array(1, 2, 2, 3, 3, 3, 4, 5); $newarr = array_unique($arr); print_r($newarr);
输出结果如下:
Array
(
[0] => 1
[1] => 2
[3] => 3
[6] => 4
[7] => 5
)
三、PHP数组查找函数
1. in_array()函数
in_array()函数用来查找数组中是否存在某个元素,返回一个布尔值。该函数的第一个参数为需要查找的元素,第二个参数为需要进行查找的数组,第三个参数为是否进行严格类型比较,默认为false。
示例:
$arr = array(1, 2, 3, 4, 5);
if (in_array(3, $arr)) {
echo "存在";
} else {
echo "不存在";
}
输出结果如下:
存在
2. array_search()函数
array_search()函数用来查找数组中某个元素的键,返回一个键值。该函数的第一个参数为需要查找的元素,第二个参数为需要进行查找的数组,第三个参数为是否进行严格类型比较,默认为false。
示例:
$arr = array(
"A" => "Ant",
"B" => "Bear",
"C" => "Cat",
"D" => "Dog"
);
$key = array_search("Bear", $arr);
echo $key;
输出结果如下:
B
四、PHP数组操作函数
1. array_merge()函数
array_merge()函数用来将多个数组合并成一个数组,返回一个新的数组。如果数组中出现了相同的键,则后面的数组会覆盖前面的数组。
示例:
$arr1 = array(1, 2, 3); $arr2 = array(4, 5, 6); $newarr = array_merge($arr1, $arr2); print_r($newarr);
输出结果如下:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
2. array_flip()函数
array_flip()函数用来交换数组中的键和值,返回一个新的数组。如果数组中出现了重复的值,则会保留后面的数组。
示例:
$arr1 = array( "A" => "Ant", "B" => "Bear", "C" => "Cat", "D" => "Dog" ); $newarr = array_flip($arr1); print_r($newarr);
输出结果如下:
`
Array
(
[Ant] => A
[Bear] => B
[Cat] => C
[Dog] => D
)
