场景是,统计二维数组中指定的键对应的值出现几次,找到之后再做自己想要的处理。记录下用的几个函数。
- 获取 sku 重复的数据,找到在做自己需要的标识
- 通过 array_column( $data, 'product_sku' ) 获取到 sku 的一维数组, 在用
array_count_values
计算数组中值出现的个数
$arr = array_count_values( array_column( $data, 'product_sku' ) );
处理结果如下
- 最后在用
array_filter
过滤下。如果出现的次数大于 1 的就 return 出来。
$res = array_filter($arr, function ( $value ) {
if ($value > 1) {
return $value;
}
});
- 完整代码:
//$data 源数据
$arr = array_count_values( array_column( $data, 'product_sku' ) );
$res = array_filter($arr, function ( $value ) {
if ($value > 1) {
return $value;
}
});
// $res 最终结果