激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php array_intersect比array_diff快(附詳細的使用說明)

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

2019-12-03 13:41PHP教程網(wǎng) PHP教程

在PHP中,使用 array_intersect 求兩個數(shù)組的交集比使用 array_diff 求同樣兩個數(shù)組的并集要快。

如果要求數(shù)組 $a 與數(shù)組 $b 的差集的個數(shù),應該使用 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() 返回一個數(shù)組,該數(shù)組包含了所有在 array1 中也同時出現(xiàn)在所有其它參數(shù)數(shù)組中的值。注意鍵名保留不變。 
#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.自我實現(xiàn)的array_intersect()函數(shù)比php原函數(shù)array_intersect()快五倍 

復制代碼代碼如下:


/** 

* 自定義的array_intersect 
* 如果求的是一維數(shù)組的交集這個函數(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 — 計算數(shù)組的差集 

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

#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 中多次出現(xiàn)的值一樣處理,輸出結果為: 

復制代碼代碼如下:


Array 

[1] => blue 


Note: 兩個單元僅在 (string) $elem1 === (string) $elem2 時被認為是相同的。也就是說,當字符串的表達是一樣的時候。 

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 中文字幕22页| 国产一级做a爱片在线看免 日日草夜夜 | 日本不卡一区二区三区在线 | 毛片免费观看视频 | 91精品国产综合久久婷婷香蕉 | 日本在线视频免费观看 | 国产精品一区二区三区在线播放 | 一级影片在线观看 | 一区二区三区日韩在线 | 老a影视网站在线观看免费 欧美日韩成人一区二区 | 中文字幕电影免费播放 | 日韩精品中文字幕一区 | 三级国产网站 | 久久精品首页 | 国产精品久久久久久久亚洲按摩 | 竹内纱里奈和大战黑人 | 一区二区三区在线观看国产 | 久久精品23| 99麻豆久久久国产精品免费 | 99精品视频一区二区 | 99riav视频一区二区 | 黄a大片| 国产成人av免费观看 | 性高跟鞋xxxxhd4kvideos | 精品国产一区二区三 | 国产免费视频在线 | 精品亚洲成a人在线观看 | 成人福利在线观看 | 国产色妞影院wwwxxx | 欧美成人高清在线 | 91经典视频 | 成人一级片毛片 | 素人视频在线观看免费 | 色人阁在线视频 | 欧美日韩在线看片 | 韩国一大片a毛片 | 欧洲伊人网 | 成人免费网站在线观看视频 | 久久久一区二区三区精品 | 一区二区美女视频 | 麻豆视频在线播放 |