最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php array_intersect比array_diff快(附詳細(xì)的使用說明)

 更新時(shí)間:2011年07月03日 03:29:24   作者:  
在PHP中,使用 array_intersect 求兩個(gè)數(shù)組的交集比使用 array_diff 求同樣兩個(gè)數(shù)組的并集要快。
如果要求數(shù)組 $a 與數(shù)組 $b 的差集的個(gè)數(shù),應(yīng)該使用 count($a) - count(array_intersect($a, $b)),而不要用 count(array_diff($a, $b));

前面要比后者快,在大數(shù)組中更為明顯。

1.array_intersect函數(shù)
array array_intersect ( array $array1 , array $array2 [, array $ ... ] )
array_intersect() 返回一個(gè)數(shù)組,該數(shù)組包含了所有在 array1 中也同時(shí)出現(xiàn)在所有其它參數(shù)數(shù)組中的值。注意鍵名保留不變。
#1 array_intersect() 例子
復(fù)制代碼 代碼如下:

<?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.自我實(shí)現(xiàn)的array_intersect()函數(shù)比php原函數(shù)array_intersect()快五倍
復(fù)制代碼 代碼如下:

/**
*
* 自定義的array_intersect
* 如果求的是一維數(shù)組的交集這個(gè)函數(shù)比系統(tǒng)的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 — 計(jì)算數(shù)組的差集

array array_diff ( array $array1 , array $array2 [, array $ ... ] )
array_diff() 返回一個(gè)數(shù)組,該數(shù)組包括了所有在 array1 中但是不在任何其它參數(shù)數(shù)組中的值。注意鍵名保留不變。

#1 array_diff() 例子
復(fù)制代碼 代碼如下:

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

在 $array1 中多次出現(xiàn)的值一樣處理,輸出結(jié)果為:
復(fù)制代碼 代碼如下:

Array
(
[1] => blue
)

Note: 兩個(gè)單元僅在 (string) $elem1 === (string) $elem2 時(shí)被認(rèn)為是相同的。也就是說,當(dāng)字符串的表達(dá)是一樣的時(shí)候。

Note: 注意本函數(shù)只檢查了多維數(shù)組中的一維。當(dāng)然可以用 array_diff($array1[0], $array2[0]); 檢查更深的維度。

相關(guān)文章

  • 優(yōu)化php效率,提高php性能的一些方法

    優(yōu)化php效率,提高php性能的一些方法

    優(yōu)化php效率,提高php性能的一些方法,開發(fā)php的朋友可以注意下。
    2011-03-03
  • php實(shí)現(xiàn)動態(tài)口令認(rèn)證的示例代碼

    php實(shí)現(xiàn)動態(tài)口令認(rèn)證的示例代碼

    這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)動態(tài)口令認(rèn)證的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • 批量獲取memcache值并按key的順序返回的實(shí)現(xiàn)代碼

    批量獲取memcache值并按key的順序返回的實(shí)現(xiàn)代碼

    一臺memcache時(shí)返回是正確的,在有多臺memcache時(shí)就無法一一對應(yīng)的按順序返回。
    2011-06-06
  • php遞歸遍歷多維數(shù)組的方法

    php遞歸遍歷多維數(shù)組的方法

    這篇文章主要介紹了php遞歸遍歷多維數(shù)組的方法,實(shí)例分析了php數(shù)組遍歷的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • PHP簡單操作MongoDB的方法(安裝及增刪改查)

    PHP簡單操作MongoDB的方法(安裝及增刪改查)

    這篇文章主要介紹了PHP簡單操作MongoDB的方法,簡單分析了php安裝及操作MongoDB數(shù)據(jù)庫的方法,涉及PHP針對MongoDB數(shù)據(jù)庫基本的增刪改查等操作技巧,需要的朋友可以參考下
    2016-05-05
  • PHP對象鏈?zhǔn)讲僮鲗?shí)現(xiàn)原理分析

    PHP對象鏈?zhǔn)讲僮鲗?shí)現(xiàn)原理分析

    這篇文章主要介紹了PHP對象鏈?zhǔn)讲僮?結(jié)合實(shí)例形式分析了鏈?zhǔn)讲僮鞯暮唵斡梅皩ο箧準(zhǔn)讲僮鞯膱?zhí)行流程,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-10-10
  • PHP簡單獲取及判斷提交來源的方法

    PHP簡單獲取及判斷提交來源的方法

    這篇文章主要介紹了PHP簡單獲取及判斷提交來源的方法,涉及PHP中$_SERVER及字符串操作的使用技巧,需要的朋友可以參考下
    2016-04-04
  • php?日期時(shí)間處理函數(shù)小結(jié)

    php?日期時(shí)間處理函數(shù)小結(jié)

    php?日期時(shí)間處理函數(shù)小結(jié),包括日期轉(zhuǎn)換為星期、計(jì)算出兩個(gè)日期之間的月份等,值得參考下。
    2009-12-12
  • PHP 反射(Reflection)使用實(shí)例

    PHP 反射(Reflection)使用實(shí)例

    這篇文章主要介紹了PHP 反射(Reflection)使用實(shí)例,本文講解了ReflectionClass、ReflectionExtension、 ReflectionFunction、ReflectionMethod、ReflectionObject、ReflectionParameter等類的使用實(shí)例,需要的朋友可以參考下
    2015-05-05
  • PHPTree——php快速生成無限級分類

    PHPTree——php快速生成無限級分類

    在開發(fā)中經(jīng)常需要用到樹形數(shù)據(jù),比如無限多級分類,就是典型的樹形結(jié)構(gòu)。這里面的算法,用到了遞歸思想,為了簡化開發(fā)過程,我編寫了一個(gè)工具來提升開發(fā)效率,需要的朋友可以參考下
    2018-03-03

最新評論

陇川县| 鱼台县| 临漳县| 浠水县| 科尔| 内江市| 来安县| 呼伦贝尔市| 拜泉县| 深水埗区| 濮阳县| 迭部县| 丰台区| 河池市| 万山特区| 凤山市| 从化市| 饶平县| 额济纳旗| 离岛区| 日土县| 马公市| 汝城县| 昭苏县| 南江县| 浦江县| 连城县| 栖霞市| 江城| 寿光市| 迭部县| 乌兰浩特市| 陇西县| 洛扎县| 塔河县| 旬邑县| 铜山县| 宜丰县| 常宁市| 吉安市| 隆化县|