php 数组怎么清除相同数字

2024年05月15日 07:33:27益点益滴635

在 php 中,我们经常需要对数组进行各种操作,比如查找、排序,以及去重。其中去重操作就是清除数组中重复的元素。在实际开发过程中,我们经常会遇到需要清除相同数字的情况,本文介绍如何使用 php 数组去除重复数字。

一、array_unique() 函数

PHP 中有一个 array_unique() 函数,该函数可以用于去除数组中的重复值,并返回一个新的数组。该函数使用的是值比较,即只有值相等的元素才被认为是重复的。

下面是使用 array_unique() 函数去重的示例代码:

<?php //定义一个包含相同数字的数组 $array = array(1, 1, 2, 3, 4, 4, 5, 5, 5);  //去重 $new_array = array_unique($array);  //输出去重后的数组 print_r($new_array); ?>

执行以上代码,可以得到输出结果:

Array (     [0] =&gt; 1     [2] =&gt; 2     [3] =&gt; 3     [4] =&gt; 4     [6] =&gt; 5 )

我们可以看到,重复的数字已经被清除,只剩下了不同的数字。

二、使用循环遍历去重

除了使用 array_unique() 函数,我们还可以使用循环遍历的方法去重。具体实现如下:

<?php //定义一个包含相同数字的数组 $array = array(1, 1, 2, 3, 4, 4, 5, 5, 5);  //去重 $new_array = array(); foreach ($array as $value) {     if (!in_array($value, $new_array)) {         $new_array[] = $value;     } }  //输出去重后的数组 print_r($new_array); ?>

以上代码中,我们使用了一个空数组 $new_array 存储不重复的数字。然后使用 foreach 循环遍历原数组 $array,如果当前元素不在 $new_array 中,则将当前元素加入 $new_array 数组中。

执行以上代码后,可以得到与前面相同的输出结果:

Array (     [0] =&gt; 1     [1] =&gt; 2     [2] =&gt; 3     [3] =&gt; 4     [4] =&gt; 5 )

三、性能对比

上面提到了两种方法去重,那么它们的性能如何呢?我们来比较一下。

为了比较两种方法的性能,我们定义了一个包含 100,000 个随机数的数组,然后使用两种方法分别对它进行去重,并统计执行时间。代码如下:

<?php //1. 使用 array_unique() 函数 $array = array(); for ($i = 0; $i < 100000; $i++) {     $array[] = rand(1, 100000); } $start_time = microtime(true); $new_array = array_unique($array); $end_time = microtime(true); echo &#39;使用 array_unique() 函数执行时间:&#39;, $end_time - $start_time, &#39; 秒&#39;;  echo "\n";  //2. 使用循环遍历 $array = array(); for ($i = 0; $i < 100000; $i++) {     $array[] = rand(1, 100000); } $start_time = microtime(true); $new_array = array(); foreach ($array as $value) {     if (!in_array($value, $new_array)) {         $new_array[] = $value;     } } $end_time = microtime(true); echo &#39;使用循环遍历执行时间:&#39;, $end_time - $start_time, &#39; 秒&#39;; ?>

执行以上代码,可以得到如下输出结果:

使用 array_unique() 函数执行时间:0.011376142501831 秒 使用循环遍历执行时间:15.46102309227 秒

我们可以看到,使用 array_unique() 函数的执行效率要高得多。

四、总结

在实际开发中,为了提高程序的执行效率,我们应当尽量使用 PHP 提供的内置函数,而不是自己编写循环等代码进行处理。对于去除数组中相同数字的问题,使用 PHP 内置的 array_unique() 函数是最简单、最高效的方法,而使用循环遍历进行去重则会浪费大量的时间和资源。

以上就是php 数组怎么清除相同数字的详细内容,更多相关文章请关注PHP百科栏目!

超赞,真给力!嗯,必须鼓励~

打赏 0
账号:mxy310@163.com[复制]
账号:77940140[复制]