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

PHP函数array_unique()的用法和示例

发布时间:2023-06-23 23:18:31

PHP函数array_unique()用于去除数组中的重复元素,并返回一个新的数组。

语法:

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

参数:

$array:必需。规定要去除重复元素的数组。

$sort_flags:可选。规定如何对比元素。可能的值为:SORT_REGULAR - 默认。将每个元素按常规方法比较(类型不变)。SORT_NUMERIC - 将每个元素按数值比较。 SORT_STRING - 将每个元素按字符串方式比较。

示例1:

<?php
$colors = array("red", "green", "blue", "red", "yellow", "green");
$unique_colors = array_unique($colors);
print_r($unique_colors);
?>

输出结果:

Array
(
    [0] => red
    [1] => green
    [2] => blue
    [4] => yellow
)

在上面的示例中,$colors数组中有两个重复元素("red"和"green"),但当我们使用array_unique()函数时,它会返回一个新数组,其中包含一个 的副本。

示例2:

<?php
$numbers = array(1, 2, 3, 2, 4, 5, 4, 6);
$unique_numbers = array_unique($numbers);
print_r($unique_numbers);
?>

输出结果:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [4] => 4
    [5] => 5
    [7] => 6
)

在上面的示例中,$numbers数组中有三个重复元素(2、4和6)。但是,当我们使用array_unique()函数时,它会返回一个新数组,其中包含每个元素的 副本。

示例3:

<?php
$multi_array = array(
    array("name" => "John", "age" => "20"),
    array("name" => "Peter", "age" => "25"),
    array("name" => "John", "age" => "20"),
    array("name" => "Tom", "age" => "30")
);
$unique_array = array_unique($multi_array, SORT_REGULAR);
print_r($unique_array);
?>

输出结果:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 20
        )

    [1] => Array
        (
            [name] => Peter
            [age] => 25
        )

    [3] => Array
        (
            [name] => Tom
            [age] => 30
        )
)

在上面的示例中,$multi_array数组中有一个重复元素(name为"John",age为"20")。但是,当我们使用array_unique()函数时,它会根据每个元素的类型和值返回一个新数组。如果我们没有指定排序标志,则该函数将使用默认的SORT_STRING标志来比较元素。但是,如果我们使用了SORT_REGULAR标志来比较元素,则该函数将返回一个新数组,其中包含每个 的元素,而不管它们的位置。