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

1.array_intersect函數 array array_in " /> 91精品国产综合久久精品图片,91tv官网精品成人亚洲,日韩欧美中文免费

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

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技術php array_intersect比array_diff快(附詳細的使用說明),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 渭南市| 昌乐县| 新乐市| 兴国县| 石棉县| 张家界市| 棋牌| 怀仁县| 合作市| 五家渠市| 读书| 泸州市| 余江县| 昂仁县| 桦川县| 堆龙德庆县| 沈丘县| 噶尔县| 抚顺县| 南城县| 成都市| 高青县| 江北区| 双柏县| 南川市| 伊宁县| 恩平市| 上犹县| 铁岭市| 土默特左旗| 岚皋县| 亳州市| 宁晋县| 罗源县| 江门市| 泾源县| 奎屯市| 叶城县| 阿克陶县| 名山县| 江口县|