首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >检查一个数组的所有元素是否都存在于另一个数组中

检查一个数组的所有元素是否都存在于另一个数组中
EN

Stack Overflow用户
提问于 2013-11-10 19:47:00
回答 4查看 1.4K关注 0票数 1

我想知道是否有一个PHP函数可以检查一个数组的所有值是否都存在于另一个数组中。

举个例子,我有这个:

代码语言:javascript
复制
$a = array ('v1', 'v3', 'v4');
$b = array ('v1', 'v2', 'v3', 'v4', 'v5');

我想把$a$b做个比较。由于$b中也存在$a的所有值,因此它应该返回true

在PHP中有没有一种有效的方法来做到这一点?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-10 19:53:31

First way

代码语言:javascript
复制
$result = $a === array_intersect($a, $b);

Second way

代码语言:javascript
复制
$result = !count(array_diff($a, $b));
票数 4
EN

Stack Overflow用户

发布于 2013-11-10 19:50:55

使用array_diff。它返回第一个数组中不存在于第二个数组中的所有元素。如果结果为空,则所有项都将存在于另一个数组中。

票数 2
EN

Stack Overflow用户

发布于 2013-11-10 19:54:33

代码语言:javascript
复制
<?php

$a = array('v1', 'v3', 'v4');
$b = array('v1', 'v2', 'v3', 'v4', 'v5');

function is_array_in_array($a, $b) {
    return count($a) === count(array_intersect($a, $b));
}

$test = is_array_in_array($a, $b);

var_dump($test);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19889345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档