php - array_a 是否包含 array_b 的所有元素

标签 php arrays

如果这是$array_b

$array_b = array('red', 'green', 'blue'); 

将其与 $array_a 进行比较并获取 bool 值以判断 $array_a 是否包含上述 $array_b 的所有元素的有效方法是什么>.

这是我想要得到的输出

//false, because it's missing the red from `$array_b`
$array_a = array('green', 'blue'); 

//true, because it contains all 3 from `$array_b`
$array_a = array('red', 'green', 'blue');     

//true, because it contains all 3 from `$array_b`
//even though there's an extra orange and cyan
$array_a = array('red', 'green', 'blue', 'orange', 'cyan'); 

有什么好方法可以做到这一点,而不需要难以跟踪的令人讨厌的嵌套循环?

最佳答案

if (count(array_intersect($array_a, $array_b)) == count($array_b)) {
    ...
}

或作为函数

function function_name($array_a, $array_b) {
    return count(array_intersect($array_a, $array_b)) == count($array_b);
}

关于php - array_a 是否包含 array_b 的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4945049/

相关文章:

c# - 我需要迭代和计数。什么最快或首选 : ToArray() or ToList()?

arrays - Zig编译器是否将具有comptime可变长度的数组视为可能的零长度数组?

javascript - PHP数据库查询: How to return the results from a while loop to a Javascript Variable?

php - SOAP_SINGLE_ELEMENT_ARRAYS 的未定义常量错误

php - 使用 PHP 查询更改表,列名不显示在 phpMyAdmin 中

php - 接口(interface)中的抽象是什么意思

php - 在多维数组中搜索键并返回它的路径

Python。检查索引是否存在于可能的字典列表中

java - 创建具有数组返回类型的函数时出错

php - 将图像上传到 MySQL 数据库时图像损坏