猿问

两个多维数组如何查询出满足如下条件的数据

array(2){
[0]=>
array(4){
["qty"]=>
string(1)"2"
["county"]=>
string(2)"ID"
["sku"]=>
string(13)"B00208MM01000"
["id"]=>
string(8)"50040019"
}
[1]=>
array(4){
["qty"]=>
string(1)"2"
["county"]=>
string(2)"ID"
["sku"]=>
string(13)"B00208MM03000"
["id"]=>
string(8)"50040019"
}
}
这是一个需要查询出来的数组。
array(189){
[0]=>
array(4){
["qty"]=>
string(1)"1"
["county"]=>
string(2)"ID"
["sku"]=>
string(13)"B00208MM01000"
["id"]=>
string(4)"1040"
}
[1]=>
array(4){
["qty"]=>
string(1)"1"
["county"]=>
string(2)"ID"
["sku"]=>
string(13)"B00208MM02000"
["id"]=>
string(4)"1041"
}
[2]=>
array(4){
["qty"]=>
string(1)"1"
["county"]=>
string(2)"ID"
["sku"]=>
string(13)"B00208MM03000"
["id"]=>
string(4)"1042"
}
[3]=>
array(4){
["qty"]=>
string(1)"1"
["county"]=>
string(2)"ID"
["sku"]=>
string(13)"B00208MM01000"
["id"]=>
string(4)"1043"
}
[4]=>
array(4){
["qty"]=>
string(1)"1"
["county"]=>
string(2)"ID"
["sku"]=>
string(13)"B00208MM02000"
["id"]=>
string(4)"1044"
}
[5]=>
array(4){
["qty"]=>
string(1)"1"
["county"]=>
string(2)"ID"
["sku"]=>
string(13)"B00208MM02000"
["id"]=>
string(4)"1045"
}
[6]=>
array(4){
["qty"]=>
string(1)"1"
["county"]=>
string(2)"ID"
["sku"]=>
string(13)"B00208MM02000"
["id"]=>
string(4)"1046"
}
这是一个总的结果集合。我需要从第一个数组为条件,查询出第二个总合集中符合qty,countysku相同的值,请问有人知道怎么写的吗?
foreach($集合1as$k=>$v){
foreach($集合二as$k2=>$v2){
if($v['qty']==$v2['qty']&&$v['county']==$v2['county']&&$v['sku']==$v2['sku']){
$data[$k2][]=$v2['id'];
}else{
//unset($data[$k2]);
}
}
}
这是我自己写的,不知道是不是哪里错了,获取的值也不对
梵蒂冈之花
浏览 561回答 2
2回答

侃侃无极

刚刚看错了,array_intersect只会返回有交集的键,直接这样就好了:foreach($arr1as$k=>$v){foreach($arr2as$k2=>$v2){if($v['qty']==$v2['qty']&&$v['county']==$v2['county']&&$v['sku']==$v2['sku']){$data=$v2;}}}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答