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

标签 php mysql oop

我有一个带有表的 MySQL 数据库,该表在 AppliedNo 列中有两个不同的值。 AppliedNo 值为 A1 id1,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; 

关于PHP Foreach 循环 - 在不同的数组中搜索数组的值,如果存在则进行数学计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28757013/

相关文章:

java - 如何在单独的 J Frame Form 标签上显示 Java Timer?

javascript - 在 javascript 中命名函数,同时使用 function myFunction() 语法

php - PHP引擎是否优化循环内的匿名函数?

php - LAMP mcrypt 扩展

php - 根据不同表中的数据创建时间线

c# - MySQL查询不返回值,但存在于数据库中

javascript - 警告 - 危险地使用全局 this 对象?

php - cakephp SQL 帮助!在哪里?

php - XML 编写器 XML 输出

mysql - set autocommit=0 和 set session transaction isolation level 之间的区别 REPEATABLE READ;start transaction;?