题目描述拿到两个数组,第一个数组是$arr1 array(8) {
[0]=>
string(5) "10001"
[1]=>
string(5) "10008"
[2]=>
string(5) "10010"
[3]=>
string(5) "10100"
[4]=>
string(5) "10020"
[5]=>
string(5) "10110"
[6]=>
string(5) "10410"
[7]=>
string(5) "10000"
}第二个数组是$arr2 array(4) {
[0]=>
string(5) "10000"
[1]=>
string(5) "10003"
[2]=>
string(5) "10004"
[3]=>
string(5) "10006"
}想请问怎么快速得出arr2中存在于arr1的内容。题目来源及自己的思路arr1中可能存在10000到20000多个数组,而arr2中只会存在少数的数组。我现在尝试了先把arr1转换成字符串得出$str1=implode(',',$arr1);string(8)'10001','10008','10010','10100','10020','10110','10410','10000'$str2=implode(',',$arr2);string(4)'10000','10003','10004','10006'然后计算arr2的长度 $arr2$longth2=count($arr2);for($i=0;$i<$longth2;$i++){}但是不知道接下来怎么比对结果了。想得到的结果是$arr2中每一个元素存在在$arr1中的位置,数量只会出现一次,没思路了,求教!谢谢
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
array_intersect() // 比较数组,返回数组的交集(只比较键值)array_intersect_assoc() // 比较数组,返回数组的交集(比较键值和键名)array_intersect_key() // 比较数组,返回数组的交集(只比较键名)
- 1 回答
- 0 关注
- 384 浏览
添加回答
举报
0/150
提交
取消