为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查模型数组的内容是否包含在具有重复项且没有特定顺序的另一个数组的内容中

如何检查模型数组的内容是否包含在具有重复项且没有特定顺序的另一个数组的内容中

PHP
呼啦一阵风 2021-11-05 10:15:51
我正在寻找一种方法来确认 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);


查看完整回答
反对 回复 2021-11-05
  • 1 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信