尝试匹配两个数组中的值,如果存在匹配值,则输出 true

Posted

技术标签:

【中文标题】尝试匹配两个数组中的值,如果存在匹配值,则输出 true【英文标题】:trying to match a value in two arrays, if a matched value is present then output true 【发布时间】:2012-12-09 00:04:32 【问题描述】:

尝试匹配两个数组中的值,如果存在匹配的值,则输出 true,可能是 array_intersect 函数?很不确定!任何帮助深表感谢!

基本上有两个我不能完全放入这个框的 sql 查询!但它们每个都返回一个数组 $staffExpertise 和 $moduleExpertise,但我对 php 非常陌生,对数组相交函数更加不熟悉,所以不太确定从这里做什么!

    foreach ($results as $row) 
        $staffExpertise = $row['expertise'];
    

    foreach ($results as $row) 
        $moduleExpertise = $row['expertise'];
    

    $arrayIntersection = array_intersect($moduleExpertise,   $staffExpertise);

    if($arrayIntersection = )

    

【问题讨论】:

基本上有两个我不能完全放入这个盒子的 sql 查询!但他们每个人都返回一个数组 $staffExpertise 和 $moduleExpertise,但我对 php 很陌生,对数组相交函数更不熟悉,所以不太确定从这里做什么! foreach ($results as $row) $staffExpertise = $row['expertise']; foreach ($results as $row) $moduleExpertise = $row['expertise']; $arrayIntersection = array_intersect($moduleExpertise, $staffExpertise); if($arrayIntersection = ) @FindlayMack 使用正确的格式更新您的问题。 向我们展示您尝试的一些代码,否则我们无能为力。 哦,编辑你的问题而不是在 cmets 中发布代码,它读起来很糟糕! @FindlayMack:为什么有两个 SQL 查询?为什么不是INNER JOIN 【参考方案1】:

是的,数组相交就可以了。试试这样的:

$names_1 = array("Alice", "Bob", "Charlie", "David");
$names_2 = array("Alice", "Bruno");

$intersection = array_intersect($names_1, $names_2);

if(!empty($intersection) )
    echo "The following item(s) exist in both arrays:"."<br>";
  foreach($intersection as $row)
      echo $row."<br>";
  

else
echo "The arrays do not intersect";

【讨论】:

非常感谢,这就是我所追求的那一行小代码!【参考方案2】:

试试:

<?php
    if (in_array($Array1, $VarToCheck)) 
        $return = true;
    elseif (in_array($Array2, $VarToCheck))
    $return = true;
    
?>

【讨论】:

感谢您的回复,但问题是由于 $vartocheck 是从两个单独的表中获取的,所以我不能这样输入它们。例如,我正在检查讲师是否具有正确的模块专业知识来教授模块;我检查的方法是查看 moduleexpertise 表和 staffExpertise 是否具有匹配的值。如果这有任何意义? 确实如此。检查 AaronSantos 的回复,我相信这可以解决问题! 是的,我认为是的!为所有帮助干杯!

以上是关于尝试匹配两个数组中的值,如果存在匹配值,则输出 true的主要内容,如果未能解决你的问题,请参考以下文章

javascript for循环,如果增量值不匹配则嵌套?

如果值与在 r 中有条件删除的值匹配,则删除行

如果属性与另一个数组匹配,则检索数组中的对象

如何强制我的 T-SQL 查询将不匹配的值输出为零?

Excel VBA 类型不匹配错误

jQuery - 如果值与数组中的元素匹配,则禁用复选框