php - PHP - 检查一个数组值是否在另一个数组中
问题描述
所以我有两个数组:
$gated_categories
array(2) { [0]=> int(3511) [1]=> int(3510) }
和
$category_id
array(3) { [0]=> int(3518) [1]=> int(3511) [2]=> int(3502) }
正如您在上面看到的,两个数组都包含3511
所以如果$gated_categories
包含一个值是$category_id
我希望这个返回true
,否则false
我试过这个:
$is_gated = !array_diff($gated_categories, $category_id);
但这是返回错误的,有什么想法吗?
解决方案
array_diff()
与您想要的相反。它返回一个数组,其中包含其他数组中不存在的第一个数组的值。
你需要array_intersect()
.
if (count(array_intersect($arr1, $arr2))) {
//at least one common value in both arrays
}
推荐阅读
- pandas - SQLCMD--Using the :r Command I have a text file with multiple outputs,is there a way to add a delimiter between outputs or an easy way to split output
- list - 类中的函数列表 - Dart/Flutter
- google-kubernetes-engine - Why doesn't Istio on the GKE create a Gateway?
- eclipse - 运行 Prometheus 时,我的所有端点都开始返回 404
- dataframe - 在java中的spark数据框中选择groupBy中未包含列的对应值
- visual-studio-code - 在 VS-Code 编辑器中,如何区分自动换行和非自动换行?
- python - 使用正则表达式从 os.walk 给出的文件名中提取子字符串
- bash - 如何在bash中使用正则表达式从字符串中删除标点符号
- typescript - 将其他 AWS 资源添加到 CdkPipeline 应用程序阶段
- reactjs - 将自定义 Netlify CMS 小部件添加到 Gatsby starter Yellowcake