php - 如何在 php 中使用 in_array 并将数组作为针,但在至少有一个值匹配时返回 t

这是我的 in_array 代码

$array = array('a', 'b', 'c');

if(in_array(array('p', 'c'), $array)){
    echo "found";
}else{
    echo "not found";
}

它返回未找到,但实际上我希望它返回 found,因为有一个值匹配 c

最佳答案

您的想法可以通过使用array_intersectcount 函数来实现。
如果两个数组之间至少有一个匹配项 - count 将返回匹配项目的数量(1 个或更多):

$needle = array('p', 'c');
$haystack = array('a', 'b', 'c');

echo (count(array_intersect($needle, $haystack))) ? "found" : "not found";
// will output: "found"

http://php.net/manual/en/function.array-intersect.php

关于php - 如何在 php 中使用 in_array 并将数组作为针,但在至少有一个值匹配时返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38157182/

相关文章:

apache-camel - 如何在 apache camel 中全局设置交换属性

ruby-on-rails - Rails 加入或包含有条件的 belongs_to

angularjs - 具有自动完成功能的 Angular 下拉菜单

php - Eloquent 模型添加没有 "created_at"和 "updated_at"字段

javascript - 元素 innerHTML 摆脱事件监听器

Neo4j - 根据关系属性查找两个节点之间的最短路径

regex - 如何在 Chrome Dev Tools 中过滤没有扩展的 XHR 请求?

git - 从 merge 请求创建补丁

r - 如何使用来自多个其他列的所有非 NA 值创建新列?

assembly - GDB - 它如何知道函数调用堆栈?