我正在寻找一种方法来确认 modelArray 的内容是否存在于 array1-3 中。我不是在检查订单,只是如果 modelArray 的内容包含在测试的数组中,包括考虑重复项(modelArray 中的两个 2,因此如果被测试的数组至少有两个 2,则应该返回 true)。帮助将不胜感激。我只是想学习,也许是想看看我是否可以简单地测试一下,看看购物车是否包含捆绑包所需的物品(一个捆绑包需要两个物品才能合格,因此在modelArray中有重复的2)。我查看了stackoverflow并尝试了array_intersect()和array_diff()。但是,我需要以下自定义用例的帮助。$modelArray = array(1,2,2,3,4); // the two 2's are intentional$array1 = array(1,2,3,4); // should return False$array2 = array(1,2,3,4,2,5,6,7,8); //should return True$array3 = array(1,4,9,5); // should return Falsefunction containsModel () {//return if True or False}?>````
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
如果数组的差异不是空数组,您可以遍历数组并使用array_diff检查:
function containsModel ($array) {
$items = array(
array(1,2,3,4),
array(1,2,3,4,2,5,6,7,8),
array(1,4,9,5)
);
foreach ($items as $item) {
if (!empty(array_diff($array, $item))) {
return false;
}
}
return true;
}
$modelArray = array(1,2,2,3,4);
$res = containsModel($modelArray);
var_dump($res);
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报
0/150
提交
取消