php怎么不用函数进行数组去重?

54次阅读
没有评论

可以使用双重循环来实现不使用函数进行数组去重:

<?php
$arr = array('apple', 'banana', 'apple', 'orange', 'pear', 'banana');
$newArr = array();

for ($i = 0; $i < count($arr); $i++) {
    $flag = true;
    for ($j = $i + 1; $j < count($arr); $j++) {
        if ($arr[$i] == $arr[$j]) {
            $flag = false;
            break;
        }
    }
    if ($flag) {
        $newArr[] = $arr[$i];
    }
}

print_r($newArr); //输出:Array ( [0] => apple [1] => orange [2] => pear [3] => banana )
?>

这段代码使用了两层循环,第一层循环用来遍历原数组中的每个元素,第二层循环用来查找是否存在相同的元素。如果找到相同的元素,就将标志位设置为false,表示不是唯一的元素,然后直接退出循环。如果循环完整个数组都找不到相同的元素,就将该元素添加到新数组中。最后输出新数组即可。

`注:该方法的时间复杂度为O(n²),随着数组元素数量的增加,性能将逐渐降低。`

正文完
 
评论(没有评论)