获取二维数组中指定 Key 对应的 Value 重复次数
2019-02-27 本文已影响0人
answer6
场景是,统计二维数组中指定的键对应的值出现几次,找到之后再做自己想要的处理。记录下用的几个函数。
数据库取出来的样例数据赋值给 $data
- 获取 sku 重复的数据,找到在做自己需要的标识
- 通过 array_column( $data, 'product_sku' ) 获取到 sku 的一维数组, 在用
array_count_values
计算数组中值出现的个数
$arr = array_count_values( array_column( $data, 'product_sku' ) );
array_column( $data, 'product_sku' ) 处理的结果, 为了方便展示用的 json 格式
处理结果如下
![](https://img.haomeiwen.com/i7927459/1512e62a327ff1e0.png)
- 最后在用
array_filter
过滤下。如果出现的次数大于 1 的就 return 出来。
$res = array_filter($arr, function ( $value ) {
if ($value > 1) {
return $value;
}
});
$res 的值就是重复的数组集合了
- 完整代码:
//$data 源数据
$arr = array_count_values( array_column( $data, 'product_sku' ) );
$res = array_filter($arr, function ( $value ) {
if ($value > 1) {
return $value;
}
});
// $res 最终结果