У меня есть массив, как:Показать определенное количество уникальных значений массива
$names = array(
"Skyler",
"Jesse",
"Walter",
"Skyler",
"Hank",
"Marie",
"Walter",
"Walter",
"Jesse",
);
Чтобы проверить, насколько часто равное значение в моем массиве, я считаю их array_count_values
. Чтобы упорядочить список по частоте каждого значения я использую arsort
:
$count = array_count_values($names);
foreach ($count as $key => $value) {
echo $value . ' – ' . $key . '<br />';
}
Так я получаю это:
3 – Walter
2 – Skyler
2 – Jesse
1 – Hank
1 – Marie
Теперь я хотел бы показать только 3 значения с самой высокой частотой, так Уолтер, Джесси и Скайлер. Но я не знаю, как ... Спасибо за вашу помощь!
Невозможно скопировать '3', поскольку количество раз, когда элемент имеет значение, может варьироваться. – asprin
У меня нет идеи. этот $ count уже является курортом max, поэтому первые три элемента - это то, что ему нужно. Я думаю, что array_slice лучше. но я просто принимаю код владельца владельца как есть. –