PHP Foreach 循环 - 在另一个数组中搜索一个数组的值,如果存在则进行数学运算

PHP Foreach loop - Search values of an array in a different array and do math if exists

我有一个 MySQL 数据库,其中 table 在 AppliedNo 列中有两个不同的值。 AppliedNo A1 id 的值是 1,2,15,92,132,A2 id2,99,120,132,313。我的目标是编写一段 PHP 代码,可以评估 A1 中每个 A2 成员的存在,然后如果存在,则将 +1 添加到 $no。例如,calNumbers($A1, $A2) 应按如下方式迭代值:

A1 => 1,2,15,92,132

A2 => 2,99,120,132,313

2 存在于 1,2,15,92,132 => $no=0+1=+1

99 不存在于 1,2,15,92,132 => $no=+1

120 不存在于 1,2,15,92,132 => $no=+1

132 存在于 1,2,15,92,132 => $no=+1+1=+2

313 不存在于 1,2,15,92,132 => $no=+2

public static function calNumbers($A1, $A2)
{
    $value1 = Database::getValues($A1);
    $value2 = Database::getValues($A2);
    $no = "0";
    foreach ($value2 as $number) {
        if (array_key_exists($number, $value1)) {
            $no++;
        } else {
            $no;
        }
    }
    return $no;
}
$value1 = array(1,2,15,92,132);
$value2 = array( 2,99,120,132,313 );
var_dump( count( array_intersect( $value1,$value2 ) ) );

另一个答案:

$value1 = array(1,2,15,92,132);
$value2 = array( 2,99,120,132,313 );
$total = 0;
foreach( $value2 as $value ) {
    if( true == in_array( $value, $value1 ) ) {
        echo 'No:'. $value;
        $total += $value;
    }
}

echo 'Total:'. $total;