gpt4 book ai didi

php array_intersect比array_diff快(附详细的使用说明)

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章php array_intersect比array_diff快(附详细的使用说明)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

如果要求数组 $a 与数组 $b 的差集的个数,应该使用 count($a) - count(array_intersect($a, $b)),而不要用 count(array_diff($a, $b));  前面要比后者快,在大数组中更为明显。  1.array_intersect函数  array array_intersect ( array $array1 , array $array2 [, array $ ... ] )  array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。  #1 array_intersect() 例子  。

复制代码代码如下

<?php  $array1 = array("a" => "green", "red", "blue");  $array2 = array("b" => "green", "yellow", "red");  $result = array_intersect($array1, $array2);  ?>  这使得 $result 成为:  Array  (  [a] => green  [0] => red  )  。

2.自我实现的array_intersect()函数比php原函数array_intersect()快五倍  。

复制代码代码如下

/**  *  * 自定义的array_intersect  * 如果求的是一维数组的交集这个函数比系统的array_intersect快5倍  *  * @param array $arr1  * @param array $arr2  * @author LIUBOTAO 2010-12-13上午11:40:20  *  */  function my_array_intersect($arr1,$arr2)  {  for($i=0;$i<sizeof($arr1);$i++)  {  $temp[]=$arr1[$i];  }  for($i=0;$i<sizeof($arr1);$i++)  {  $temp[]=$arr2[$i];  }  sort($temp);  $get=array();  for($i=0;$i<sizeof($temp);$i++)  {  if($temp[$i]==$temp[$i+1])  $get[]=$temp[$i];  }  return $get;  }  $array1 = array("green", "red", "blue");  $array2 = array("green", "yellow", "red");  echo "<pre>";  print_r(my_array_intersect($array1, $array2));  echo "<pre/>";  。

array_diff — 计算数组的差集  array array_diff ( array $array1 , array $array2 [, array $ ... ] )  array_diff() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意键名保留不变。  #1 array_diff() 例子  。

复制代码代码如下

<?php  $array1 = array("a" => "green", "red", "blue", "red");  $array2 = array("b" => "green", "yellow", "red");  $result = array_diff($array1, $array2);  print_r($result);  ?>  。

在 $array1 中多次出现的值一样处理,输出结果为:  。

复制代码代码如下

Array  (  [1] => blue  )  。

Note: 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样的时候。  Note: 注意本函数只检查了多维数组中的一维。当然可以用 array_diff($array1[0], $array2[0]); 检查更深的维度.

最后此篇关于php array_intersect比array_diff快(附详细的使用说明)的文章就讲到这里了,如果你想了解更多关于php array_intersect比array_diff快(附详细的使用说明)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com