首页 > 编程知识 正文

PHP大数据数组循环,找出数组中差值最小的两个数

时间:2023-05-03 11:40:04 阅读:42575 作者:3723

最近,在某个项目中写了与数组差集合问题相关的代码

$arr1=[

[

' cardId'=1010284722,

' beforeAmounts'=100,

' afterAmounts'=20,

' diffAmounts'=-80,

' diffStatus'=1

]、

[

' cardId'=1010284722,

' beforeAmounts'=100,

' afterAmounts'=200,

' diffAmounts'=100,

' diffStatus'=0

]、

[

' cardId'=177561410,

' beforeAmounts'=2000,

' afterAmounts'=1000,

' diffAmounts'=-1000,

' diffStatus'=1

]、

[

' cardId'=177561410,

' beforeAmounts'=2000,

' afterAmounts'=1000,

' diffAmounts'=-1000,

' diffStatus'=1

]、

[

' cardId'=1077060068,

' beforeAmounts'=789,

' afterAmounts'=100,

' diffAmounts'=-689,

' diffStatus'=1

]、

[

' cardId'=1077060068,

' beforeAmounts'=789,

' afterAmounts'=100,

' diffAmounts'=-689,

' diffStatus'=1

]

];

$arr2=[

[

' cardId'=177561410,

' beforeAmounts'=2000,

' afterAmounts'=1000,

' diffAmounts'=-1000,

' diffStatus'=1

]、

[

' cardId'=1077060068,

' beforeAmounts'=789,

' afterAmounts'=100,

' diffAmounts'=-689,

' diffStatus'=1

]

];

echo 'arr1个数:'.count($arr1).'

';

echo 'arr1藏品: ';

var_dump($arr1;

echo '

'; echo 'arr2个数:'.count($arr2).'

';

echo 'arr2藏品: ';

var_dump($arr2;

echo '

'; //这是我求差集的方法

Foreach($arr1as$k=$v ) if ) in_array ) $v,$arr2) ) unset ) $arr1[$k] );

echo '差集个数:'.count($arr1).'

';

echo '差集: ';

var_dump($arr1;

因为有重复的数据,所以这样求出后的差集合的个数$arr2的个数不等于$arr1的个数

问:如何寻求差集的才能

差集合个数$arr2的个数=$arr1的个数

最后求出的差集还包括这两个重复的数组元素' cardId'=177561410和' cardId'=1077060068

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。