获取二维数组中指定 Key 对应的 Value 重复次数

场景是,统计二维数组中指定的键对应的值出现几次,找到之后再做自己想要的处理。记录下用的几个函数。


数据库取出来的样例数据赋值给 $data

  • 获取 sku 重复的数据,找到在做自己需要的标识
  1. 通过 array_column( $data, 'product_sku' ) 获取到 sku 的一维数组, 在用 array_count_values 计算数组中值出现的个数
$arr = array_count_values( array_column( $data, 'product_sku' ) );

array_column( $data, 'product_sku' ) 处理的结果, 为了方便展示用的 json 格式

处理结果如下


$arr 的信息

  1. 最后在用 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 最终结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。