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

10个PHP数组和集合函数:快速排序,去重和比较

发布时间:2023-06-18 10:15:08

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开发非常重要。