我有一个带有表的 MySQL 数据库,该表在 AppliedNo
列中有两个不同的值。 AppliedNo
值为 A1 id
为 1,2,15,92,132
,A2 id
为 2 ,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/