<?php
$array = [
['id' => 1, 'city' => 'Melbourne', 'user_name' => 'user_1'],
['id' => 2, 'city' => 'Melbourne', 'user_name' => 'user_1'],
['id' => 3, 'city' => 'Sydney', 'user_name' => 'user_2'],
['id' => 4, 'city' => 'Perth', 'user_name' => 'user_3'],
['id' => 5, 'city' => 'Perth', 'user_name' => 'user_4']
];
$result = [];
foreach ($array as $row) {
$result[$row['city']][$row['user_name']] = true;
}
var_export(array_map('count', $result));
preferences:
25.99 ms | 405 KiB | 5 Q