Current Location: Home> Latest Articles> How to use the array_count_values ​​function of PHP to count the frequency of API request parameters and rank them?

How to use the array_count_values ​​function of PHP to count the frequency of API request parameters and rank them?

M66 2025-06-07

When developing APIs, it is often necessary to analyze the parameters in the request to understand the frequency of occurrence of each parameter. This helps you optimize your API interface or make some targeted improvements. PHP provides a very practical function array_count_values() , which can count the number of occurrences of each value in an array. Combining this function, we can easily implement frequency statistics of API request parameters and rank them by frequency.

Use scenarios

Suppose we have an API interface that receives multiple request parameters. These parameters may appear repeatedly. By counting their frequency of occurrence, we can help us determine which parameters are most commonly used, thereby providing data support for subsequent optimization.

Sample Scenario

Imagine an API interface that receives the following request parameters (we assume that the request parameters are passed through $_GET or $_POST ):

 GET /api/products?category=electronics&color=red&category=home&color=blue&size=medium&category=electronics

In this example, both category and color parameters occur repeatedly. We want to count the frequency of occurrence of each parameter and sort it according to these frequencies.

Solution

Step 1: Get API request parameters

We first get the parameters in the API request through $_GET or $_POST . Suppose we are getting the parameters of the GET request.

 // Get the requested parameters
$requestParams = $_GET;  // Example: ['category' => 'electronics', 'color' => 'red', ...]

Step 2: Statistical frequency of parameters

Use the array_count_values() function of PHP to count the number of occurrences of each parameter. This function takes an array as input and returns a new array containing the number of times each value of the original array appears.

 // Statistical parameters frequency
$paramFrequency = array_count_values($requestParams);

At this point, $paramFrequency returns an array containing the number of occurrences of the parameter. For example:

 // 结果Example
// ['electronics' => 2, 'red' => 1, 'home' => 1, 'blue' => 1, 'medium' => 1]

Step 3: Ranking according to frequency of occurrence

Next, we can use the arsort() function to sort the array in descending order by value (i.e. the number of times the argument occurs), thereby obtaining the frequency ranking.

 // Sort by descending frequency
arsort($paramFrequency);

// Output sorted results
print_r($paramFrequency);

Finally, the output will be:

 // 结果Example
// ['electronics' => 2, 'red' => 1, 'home' => 1, 'blue' => 1, 'medium' => 1]

At this point, 'electronics' is the most frequent and therefore ranks first.

Step 4: Output Ranking

If you want to display ranking information more intuitively, you can use a loop to output the sorted parameter frequency one by one.

 // Output the ranking of each parameter
$rank = 1;
foreach ($paramFrequency as $value => $count) {
    echo "Ranking: $rank, Parameter value: $value, Number of occurrences: $count\n";
    $rank++;
}

Example output result:

 Ranking: 1, Parameter value: electronics, Number of occurrences: 2
Ranking: 2, Parameter value: red, Number of occurrences: 1
Ranking: 3, Parameter value: home, Number of occurrences: 1
Ranking: 4, Parameter value: blue, Number of occurrences: 1
Ranking: 5, Parameter value: medium, Number of occurrences: 1

Complete code example

 <?php
// Simulate a GET Request parameters
$_GET = [
    'category' => 'electronics',
    'color' => 'red',
    'category' => 'home',
    'color' => 'blue',
    'size' => 'medium',
    'category' => 'electronics'
];

// Get the requested parameters
$requestParams = $_GET;

// Statistical parameters frequency
$paramFrequency = array_count_values($requestParams);

// Sort by descending frequency
arsort($paramFrequency);

// Output sorted results
$rank = 1;
foreach ($paramFrequency as $value => $count) {
    echo "Ranking: $rank, Parameter value: $value, Number of occurrences: $count\n";
    $rank++;
}
?>

Summarize

By using PHP's array_count_values() function, we can easily count the frequency of API request parameters and sort them using arsort() . This approach can help us better understand API usage, perform interface optimization or perform related data analysis.

  • Related Tags:

    API