PHP二维数组:统计某个键名的相同键值个数
$arr = [
['is_reg' => 0, 'role' => 1, 'bk' => 1],
['is_reg' => 1, 'role' => 2, 'bk' => 2],
['is_reg' => 1, 'role' => 3, 'bk' => 3],
['is_reg' => 1, 'role' => 4, 'bk' => 4],
['is_reg' => 0, 'role' => 5, 'bk' => 5],
];
思路:先取列,再统计
$a = array_count_values(array_column($arr,'is_reg'))[0];
2、直接统计值大于1个数,取键名
$data = [
['name' => 'John', 'age' => 25, 'gender' => 'ale'],
['name' => 'Jane', 'age' => 30, 'gender' => 'female'],
['name' => 'John', 'age' => 25, 'gender' => 'ale'],
['name' => 'Jane', 'age' => 30, 'gender' => 'female'],
['name' => 'John', 'age' => 25, 'gender' => 'ale'],
];
$counts = array_filter(array_count_values(array_column($data, 'is_reg')), function($count) {
return $count > 1;
});
array(2) {
[ale]=>
int(3)
[female]=>
int(2)
}