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