Как определить значения массива повторяющиеся более 10 раз

P
На сайте с 06.01.2009
Offline
601
946

Здравствуйте. Есть ли готовая функция (я не нашел)?

Массив имеет 9000 значений. Некоторые из них повторяются по несколько раз.

Как выбрать значения, которые повторяются более 10 раз?

ps вариант есть, но возможно есть решение проще.


$mass1 = ...массив с 9000 значениями.
$mass2 = array_unique($mass1);
foreach ($mass2 as $value) {
... проверяем сколько значений $value в массиве $mass1
}
Malcolm
На сайте с 02.05.2007
Offline
119
#1

array_count_values($mass1)
P
На сайте с 06.01.2009
Offline
601
#2
Malcolm:
array_count_values($mass1)

Спасибо.


$array = array (1, "hello", 1, "world", "hello");
print_r(array_count_values ($array));

Array

(

[1] => 2

[hello] => 2

[world] => 1

)

А как вывести только те, что больше 10 раз повторяются, никак не пойму.

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#3

ну перебрать значение array_count_values ($array) через foreach с условием if>10

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
P
На сайте с 06.01.2009
Offline
601
#4

не пойму, как вывести 1, потом hello


$array = array (1, "hello", 1, "world", "hello");
foreach (array_count_values ($array) as $value) {
if ($value>1) echo ...... ???
}

спасибо заранее. просто не пойму, где хранится не число повторений, а значение

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#5

foreach (array_count_values ($array) as $value=>$k) {

и у вас появиться переменная $k и там разберётесь что к чему

P
На сайте с 06.01.2009
Offline
601
#6
LEOnidUKG:
foreach (array_count_values ($array) as $value=>$k) {

и у вас появиться переменная $k и там разберётесь что к чему

Спасибо большое. Разобрался.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий