10个PHP数组和集合函数:快速排序,去重和比较
1. sort():对数组进行快速排序
sort()函数可以对数组进行排序,默认是按照升序排列。如果想按照降序排列,可以使用rsort()函数。sort()函数可以接受两个参数:第一个是要排序的数组,第二个是可选的排序方式,可以是SORT_REGULAR(默认),SORT_NUMERIC和SORT_STRING。
示例:
$fruits = array("apple", "banana", "orange", "grape");
sort($fruits);
print_r($fruits);
输出:
Array
(
[0] => apple
[1] => banana
[2] => grape
[3] => orange
)
2. array_unique():去除数组中重复的值
array_unique()函数可以去除数组中重复的值,只保留第一个出现的值。它会对数组进行重新索引。
示例:
$numbers = array(1, 2, 2, 3, 3, 4, 5, 5);
$unique_numbers = array_unique($numbers);
print_r($unique_numbers);
输出:
Array
(
[0] => 1
[1] => 2
[3] => 3
[5] => 4
[6] => 5
)
3. array_intersect():返回数组的交集
array_intersect()函数可以返回两个或多个数组的交集,即返回一个新数组,其中包含所有数组中共有的元素。它可以接受两个以上的参数。
示例:
$a = array("red", "green", "blue");
$b = array("red", "blue", "yellow");
$intersect = array_intersect($a, $b);
print_r($intersect);
输出:
Array
(
[0] => red
[2] => blue
)
4. array_diff():返回数组的差集
array_diff()函数可以返回两个或多个数组之间的差集,即返回一个新数组,其中包含所有存在于第一个数组中但不存在于其他数组中的元素。它可以接受两个以上的参数。
示例:
$a = array("red", "green", "blue");
$b = array("red", "blue", "yellow");
$diff = array_diff($a, $b);
print_r($diff);
输出:
Array
(
[1] => green
)
5. array_merge():合并一个或多个数组
array_merge()函数可以合并一个或多个数组。它会返回一个新数组,其中包含所有的输入数组元素。如果有重复的键,后面的键会覆盖前面的键。
示例:
$a = array("red", "green");
$b = array("blue", "yellow");
$merge = array_merge($a, $b);
print_r($merge);
输出:
Array
(
[0] => red
[1] => green
[2] => blue
[3] => yellow
)
6. array_push():将一个或多个元素压入数组的末尾
array_push()函数可以将一个或多个元素压入数组的末尾,并返回新的数组长度。
示例:
$fruits = array("apple", "banana");
$length = array_push($fruits, "orange", "grape");
print_r($fruits);
echo $length;
输出:
Array
(
[0] => apple
[1] => banana
[2] => orange
[3] => grape
)
4
7. array_pop():弹出数组的最后一个元素
array_pop()函数可以弹出数组的最后一个元素,并返回弹出的元素。
示例:
$fruits = array("apple", "banana", "orange", "grape");
$last_fruit = array_pop($fruits);
print_r($fruits);
echo $last_fruit;
输出:
Array
(
[0] => apple
[1] => banana
[2] => orange
)
grape
8. array_shift():弹出数组的第一个元素
array_shift()函数可以弹出数组的第一个元素,并返回弹出的元素。
示例:
$fruits = array("apple", "banana", "orange", "grape");
$first_fruit = array_shift($fruits);
print_r($fruits);
echo $first_fruit;
输出:
Array
(
[0] => banana
[1] => orange
[2] => grape
)
apple
9. array_unshift():在数组开头插入一个或多个元素
array_unshift()函数可以在数组开头插入一个或多个元素,并返回新的数组长度。
示例:
$fruits = array("orange", "grape");
$length = array_unshift($fruits, "apple", "banana");
print_r($fruits);
echo $length;
输出:
Array
(
[0] => apple
[1] => banana
[2] => orange
[3] => grape
)
4
10. array_diff_assoc():返回数组的差集,使用键名比较
array_diff_assoc()函数可以返回两个或多个数组之间的差集,这里需要使用键名进行比较。它会返回一个新数组,其中包含所有存在于第一个数组中但不存在于其他数组中的元素。它可以接受两个以上的参数。
示例:
$a = array("a" => "red", "b" => "green", "c" => "blue");
$b = array("a" => "red", "b" => "blue", "c" => "yellow");
$diff = array_diff_assoc($a, $b);
print_r($diff);
输出:
Array
(
[b] => green
[c] => blue
)
总结:
PHP提供了很多数组和集合函数,它们可以帮助我们快速对数组进行排序、去重、比较等操作,提高开发效率和代码质量。熟练掌握这些函数对于PHP开发非常重要。
