Home >Backend Development >PHP Tutorial >PHP array key grouping functions and application guide

PHP array key grouping functions and application guide

WBOY
WBOYOriginal
2024-04-30 10:36:011047browse

PHP array key grouping function can classify array keys according to specified rules for data aggregation, filtering and transformation. Built-in functions include array_column(), array_combine(), and array_group_by(). For example, you can organize and process array data efficiently by grouping orders by user ID or filtering keys by suffix.

PHP 数组按键分组的函数和应用指南

PHP Array Key Grouping Function and Application Guide

Array key grouping is a powerful function in PHP, which allows you to group arrays according to custom rules. Button grouping. This is useful in many real-world scenarios, such as:

  • Data aggregation: Summarize data in an array together based on the same key.
  • Data filtering: Filter the data with a specific key in the array based on conditions.
  • Data transformation: Regroup array keys into other key-value pairs.

Built-in grouping functions

PHP provides the following built-in functions to implement array key grouping:

  • ##array_column(): Extraction Data for the specified column (by key).
  • array_combine(): Combine the key-value pairs of two arrays into a new array.
  • array_group_by(): Group the array by the given key (introduced in PHP 8.1).
Practical case

Case 1: Group orders according to user ID

$orders = [
    ['user_id' => 1, 'product_id' => 1, 'quantity' => 2],
    ['user_id' => 1, 'product_id' => 2, 'quantity' => 3],
    ['user_id' => 2, 'product_id' => 3, 'quantity' => 1],
];

$groupedOrders = array_group_by($orders, 'user_id');

After execution,

$groupedOrders will is a multidimensional array where each element is an array of orders containing the same user ID:

[
    1 => [
        ['user_id' => 1, 'product_id' => 1, 'quantity' => 2],
        ['user_id' => 1, 'product_id' => 2, 'quantity' => 3],
    ],
    2 => [
        ['user_id' => 2, 'product_id' => 3, 'quantity' => 1],
    ],
]

Case 2: Filtering keys with a specific suffix

$settings = [
    'site.title' => 'My Site',
    'site.description' => 'A great website',
    'user.name' => 'John Doe',
];

$filteredSettings = array_filter($settings, function($key) {
    return strpos($key, '.site') !== false;
});

After execution,

$filteredSettings will contain settings for keys with only the .site suffix:

[
    'site.title' => 'My Site',
    'site.description' => 'A great website',
]

Summary

Using the array key grouping function Array data can be organized and processed easily and efficiently. By choosing the right functions and applying custom rules, you can flexibly manipulate arrays according to your specific needs.

The above is the detailed content of PHP array key grouping functions and application guide. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn