日期:2014-05-17  浏览次数:20503 次

怎样快速找出两个数组中相同的元素?
例如我有两个数组 
1、('csdn','php','asp','msdn','c#','java','jsp','vb')
2、('javajia','asp','java','source','c#','delphi','jsp','vc++')

快速找出两个数组中相同的元素,要快速,不能一个个遍历,因为有几千个元素呢。
如上两个数组,得出结果是('asp','java','c#','jsp')

100分敬上!先谢了!!


------解决方案--------------------

你试试用正则表达式!

如还有其他需要请留言!
------解决方案--------------------


$a=array('csdn','php','asp','msdn','c#','java','jsp','vb');
$b=array('javajia','asp','java','source','c#','delphi','jsp','vc++');

print_r(array_intersect($a,$b));


//效率不知道怎么样
------解决方案--------------------
楼上正解!
------解决方案--------------------
求两个数组的交集

$a=array('csdn','php','asp','msdn','c#','java','jsp','vb');
$b=array('javajia','asp','java','source','c#','delphi','jsp','vc++');
print_r(array_intersect($a,$b));



还不明白去查下手册array_intersect的用法



------解决方案--------------------
引用:
PHP code

$a=array('csdn','php','asp','msdn','c#','java','jsp','vb');
$b=array('javajia','asp','java','source','c#','delphi','jsp','vc++');

print_r(array_intersect($a,$b));


 对啊,就这个函数就可以了
------解决方案--------------------
引用:
PHP code


$a=array('csdn','php','asp','msdn','c#','java','jsp','vb');
$b=array('javajia','asp','java','source','c#','delphi','jsp','vc++');

print_r(array_intersect($a,$b));



//效率不知道怎么样


+1
------解决方案--------------------
计算两数组的交集
------解决方案--------------------
仅需要取相同的值时,可以用array_intersect()如果连键名也需要比较时用array_intersect_assoc()
------解决方案--------------------
就是用这个函数,系统函数比自定义的效率要高很多

引用:
PHP code


$a=array('csdn','php','asp','msdn','c#','java','jsp','vb');
$b=array('javajia','asp','java','source','c#','delphi','jsp','vc++');

print_r(array_intersect($a,$b));



//效率不知道怎么样

------解决方案--------------------
1楼正解
------解决方案--------------------
我想来捞分的 没想到3楼太犀利。。。 正解
如果是C++ 我还有更犀利的方法 嘿嘿
------解决方案--------------------
3楼正解啊~~ 同样学习一下
------解决方案--------------------
3楼给力,学习了。
------解决方案--------------------
我也来默写一遍:array_intersect()


哈哈,记住了。。。。