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


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

我有一个MySQL数据库,其中包含一个表,该表在AppliedNo列中有两个不同的值。 AppliedNo A1 id 的值1,2,15,92,132id 为 A2 的值2,99,120,132,313。我的目标是编写一段PHP代码,可以评估A1中每个A2成员的存在,如果存在,则向$no添加+1。例如,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

1201,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;