欢迎访问宙启技术站
智能推送

PHP数组函数:排序、过滤、查找和操作指南

发布时间:2023-06-09 22:51:06

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

)