如何使用in_array如果针是一个数组? [英] How can I use in_array if the needle is an array?

查看:114
本文介绍了如何使用in_array如果针是一个数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个数组,值将从数据库加载,下面是一个示例:

I have 2 arrays, the value will be loaded from database, below is an example:

$arr1 = array(1,2,3);
$arr2 = array(1,2,3,4,5,6,7);

我想要做的是检查 code> $ arr2 中存在code> $ arr1 。以上示例应为 TRUE while:

What I want to do is to check if all the values in $arr1 exist in $arr2. The above example should be a TRUE while:

$arr3 = array(1,2,4,5,6,7);

比较 $ arr1 $ arr3 将返回 FALSE

通常我使用 in_array ,因为我只需要检查单个值到数组。但是在这种情况下,不能使用 in_array 。我想看看是否有一个简单的方法来做最小的循环检查。

Normally I use in_array because I only need to check single value into an array. But in this case, in_array cannot be used. I'd like to see if there is a simple way to do the checking with a minimum looping.

UPDATE澄清。

第一个数组是一个包含唯一值的集合。第二个数组可以包含重复的值。

First array will be a set that contains unique values. Second array can contain duplicated values. They are both guaranteed an array before processing.

推荐答案

使用 array_diff()

$arr1 = array(1,2,3);
$arr2 = array(1,2,3,4,5,6,7);
$arr3 = array_diff($arr1, $arr2);
if (count($arr3) == 0) {
  // all of $arr1 is in $arr2
}

这篇关于如何使用in_array如果针是一个数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆