Position actuelle: Accueil> Derniers articles> Comment extraire rapidement les colonnes d'ID à l'aide de la fonction Array_Column de PHP lors du traitement des données de pagination?

Comment extraire rapidement les colonnes d'ID à l'aide de la fonction Array_Column de PHP lors du traitement des données de pagination?

M66 2025-06-15

Dans le développement quotidien, en particulier dans les systèmes de gestion de fond ou les plateformes d'analyse des données, nous devons souvent traiter les données paginées, telles que l'extraction des données d'une certaine colonne pour d'autres opérations. Dans PHP, Array_Column est une fonction très pratique qui peut nous aider à extraire rapidement la valeur du nom de clé spécifié à partir d'un tableau bidimensionnel et former un nouveau tableau d'index. Cet article combinera des cas réels pour introduire comment utiliser Array_Column pour extraire rapidement les colonnes d'ID lors du traitement des données de pagination.

Description de la scène

Supposons que nous effectuons un développement d'interface et que nous devons renvoyer les données de la liste Paged à l'avant. Les données proviennent de la requête de base de données et le format de données renvoyé est le suivant:

 $users = [
    ['id' => 101, 'name' => 'Zhang San', 'email' => 'zhangsan@m66.net'],
    ['id' => 102, 'name' => 'Li si', 'email' => 'lisi@m66.net'],
    ['id' => 103, 'name' => 'Wang wu', 'email' => 'wangwu@m66.net'],
    // ...Plus de données
];

Nous devons maintenant extraire rapidement les ID de tous les utilisateurs de ce lot de données utilisateur, afin qu'ils puissent être utilisés pour des opérations ultérieures telles que l'agrégation d'interface, la requête par lots, etc.

Extraire les colonnes d'ID à l'aide de Array_Column

Array_Column est une fonction native fournie par PHP, et sa syntaxe de base est la suivante:

 array_column(array $input, mixed $column_key, mixed $index_key = null): array

dans:

  • $ Entrée : le tableau à deux dimensions d'entrée;

  • $ Column_Key : le nom de la colonne qui doit être extrait;

  • $ index_key (facultatif): utilisé comme colonne qui renvoie l'indice du tableau.

Nous n'avons qu'à extraire la colonne ID , afin que nous puissions l'utiliser directement comme ceci:

 $userIds = array_column($users, 'id');
print_r($userIds);

Résultat de sortie:

 Array
(
    [0] => 101
    [1] => 102
    [2] => 103
)

De cette façon, nous obtenons rapidement un tableau d'ID [101, 102, 103] .

Exemples complets pour s'appliquer à l'interface de pagination

Nous appliquons Array_Column au code réel d'une interface de pagination, en émulant une interface qui renvoie les données de pagination utilisateur.

 function getUserList($page = 1, $limit = 10) {
    // Simuler les résultats de la requête de la pagination de la base de données
    $allUsers = [
        ['id' => 101, 'name' => 'Zhang San', 'email' => 'zhangsan@m66.net'],
        ['id' => 102, 'name' => 'Li si', 'email' => 'lisi@m66.net'],
        ['id' => 103, 'name' => 'Wang wu', 'email' => 'wangwu@m66.net'],
        ['id' => 104, 'name' => 'Zhao Liu', 'email' => 'zhaoliu@m66.net'],
        ['id' => 105, 'name' => 'Soleil Qi', 'email' => 'sunqi@m66.net'],
        // 假设还有Plus de données
    ];

    $offset = ($page - 1) * $limit;
    $pagedUsers = array_slice($allUsers, $offset, $limit);

    // extrait ID Liste
    $ids = array_column($pagedUsers, 'id');

    return [
        'data' => $pagedUsers,
        'ids' => $ids,
        'pagination' => [
            'page' => $page,
            'limit' => $limit,
            'total' => count($allUsers)
        ]
    ];
}

// Tester
$result = getUserList(1, 3);
print_r($result);

Les résultats de sortie sont à peu près les suivants: