How can PHP's array_count_values function be utilized to address the issue of numbering duplicate values in an array?

When dealing with an array that contains duplicate values, we may want to know the frequency of each value in the array. PHP's array_count_values function can be utilized to count the occurrences of each value in the array and return an associative array where the keys are the unique values and the values are the frequencies. To address the issue of numbering duplicate values in an array, we can use this function to get the frequency of each value and then assign a unique number to each duplicate value based on its frequency.

$array = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4];

// Count the occurrences of each value in the array
$counts = array_count_values($array);

// Initialize a counter variable
$counter = 1;

// Iterate through the array and assign a unique number to each duplicate value
foreach ($array as $key => $value) {
    if ($counts[$value] > 1) {
        $array[$key] = $value . '_' . $counter;
        $counter++;
    }
}

print_r($array);