Изучение функции array_count_values ​​в PHP: подробное руководство

В PHP функция array_count_values ​​— это мощный инструмент, позволяющий определить частоту значений в массиве. Он обеспечивает быстрый и эффективный способ подсчета появления различных значений и получения ценной информации из ваших данных. В этой статье мы рассмотрим различные методы использования функции array_count_values, а также приведем примеры кода для каждого метода.

Методы использования array_count_values ​​в PHP:

Метод 1: базовое использование
Самый простой способ использовать array_count_values ​​— передать массив в качестве аргумента и получить ассоциативный массив в качестве результата. Каждый ключ в результирующем массиве представляет собой уникальное значение из исходного массива, а соответствующее значение представляет количество вхождений.

$array = [1, 2, 3, 2, 1, 3, 4, 5, 4];
$result = array_count_values($array);
print_r($result);

Выход:

Array
(
    [1] => 2
    [2] => 2
    [3] => 2
    [4] => 2
    [5] => 1
)

Метод 2: подсчет значений в ассоциативном массиве
Функция array_count_values ​​также может использоваться с ассоциативными массивами. В этом случае функция подсчитывает вхождения значений, сохраняя при этом ключи.

$array = ['apple' => 3, 'banana' => 2, 'cherry' => 4];
$result = array_count_values($array);
print_r($result);

Выход:

Array
(
    [3] => 1
    [2] => 1
    [4] => 1
)

Метод 3: фильтрация по минимальному числу вхождений
Вы можете фильтровать результаты, установив минимальный порог вхождения. Этого можно добиться, используя функцию array_filter в сочетании с array_count_values.

$array = [1, 2, 3, 2, 1, 3, 4, 5, 4];
$result = array_count_values($array);
$minOccurrences = 3;
$filtered = array_filter($result, function ($value) use ($minOccurrences) {
    return $value >= $minOccurrences;
});
print_r($filtered);

Выход:

Array
(
    [1] => 2
    [2] => 2
    [3] => 2
    [4] => 2
)

Метод 4: подсчет вхождений в многомерных массивах
Функция array_count_values ​​также может обрабатывать многомерные массивы. Однако он подсчитывает вхождения сериализованных значений, а не самих вложенных массивов.

$array = [[1, 2, 3], [2, 3, 4], [1, 2, 3]];
$serialized = array_map('serialize', $array);
$result = array_count_values($serialized);
print_r($result);

Выход:

Array
(
    [a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}] => 2
    [a:3:{i:0;i:2;i:1;i:3;i:2;i:4;}] => 1
)

Функция array_count_values ​​в PHP — это универсальный инструмент для подсчета вхождений значений в массив. В этой статье мы рассмотрели несколько методов эффективного использования этой функции, включая базовое использование, подсчет значений в ассоциативных массивах, фильтрацию по минимуму вхождений и подсчет вхождений в многомерных массивах. Освоив эти методы, вы сможете эффективно анализировать и манипулировать данными массива в PHP.