Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Create your online store today with Shopify

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Disclosure: My content contains affiliate links.

43,086 questions

55,960 answers

573 users

How to find the frequency of each digit (0–9) in a number with PHP

1 Answer

0 votes
/*
    Function: countDigitFrequency
    Purpose:  Counts how many times each digit (0–9) appears in a number.
    Parameters:
        - n: the number whose digits we want to count
        - freq: an array of size 10 that stores the frequency of each digit
                freq[0] = count of digit '0'
                freq[1] = count of digit '1'
                ...
                freq[9] = count of digit '9'
    Explanation:
        We repeatedly extract the last digit using n % 10,
        then remove that digit using n / 10.
*/
function countDigitFrequency(int $n, array &$freq): void {

    // Process each digit of the number
    while ($n > 0) {
        $digit = $n % 10;   // extract last digit
        $freq[$digit]++;    // increase its frequency
        $n = intdiv($n, 10); // remove last digit
    }
}

$n = 79712622;   // the number we want to analyze

$freq = array_fill(0, 10, 0);   // array to store digit frequencies

// Call the function to count digit frequencies
countDigitFrequency($n, $freq);

// Display the result
echo "Digit frequencies in $n:\n\n";

for ($i = 0; $i < 10; $i++) {
    if ($freq[$i] != 0) {
        echo "Digit $i occurs {$freq[$i]} times\n";
    }
}



/*
run:

Digit frequencies in 79712622:

Digit 1 occurs 1 times
Digit 2 occurs 3 times
Digit 6 occurs 1 times
Digit 7 occurs 2 times
Digit 9 occurs 1 times

*/

 



answered Jul 2 by avibootz
...