Rumah > pembangunan bahagian belakang > tutorial php > php判断数组是否全部相同方法详解

php判断数组是否全部相同方法详解

WBOY
Lepaskan: 2016-07-25 08:52:43
asal
1628 orang telah melayarinya
  1. //伪造有100000个数组元素的数组,第一个数组元素为1,后面的99999个都为0
  2. for($i=0;$i if($i==1)
  3. array_push($array,1);
  4. else
  5. array_push($array,0);
  6. }
  7. //第一种用循环方法
  8. $len=count($array);
  9. for ($i=0; $i if($array[$i]!=$array[$i+1]){
  10. break;
  11. }
  12. }
  13. // 耗时:Processed in 0.144372 second(s).
复制代码

借助php中的array_count_values()去完成

  1. if(count(array_count_values($array))!=1){
  2. echo "用php中技巧方法跑:push";
  3. }
  4. //Processed in 0.133642 second(s).
复制代码

因为构造的数组第一个为1,后面99999都为0,再次构造一个前面99999个都为1,最后一个为0,作为一个循环最多次和最少次的比较,再看二者运行时间: 此时,

//利用循环的方法所用时间:Processed in 0.211106 second(s). //利用array_count_values方法所用时间:Processed in 0.135076 second(s). 当只需要进行一次判断时,二者的方法所耗时间相差无几,但利用array_count_values仍要快一些。但是当我们进行最多次比较,把不同的那个数组元素放在数组尾,这时后者所用时间几乎是前者的一半。

array_count_values()是个什么函数: php中用c语言内置写了一个array_count_values()的方法,此法用来判断每个数组元素出现的次数,例如数组元素有1,1,2,那么返回: 打印结果: array(2) { [1]=> int(2) [2]=> int(1) } 1出现了两次,2出现了1次。 此时再判断数组元素有几个,如果不是1个,那就肯定有相同的。

多用内置方法,不管哪门语言,高手的写法一般更高效。当然,可能也有例外。 用php来写程序时,还是觉得内置函数的效率比较高。



sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan