Maison > développement back-end > Problème PHP > tableau php à collectionner

tableau php à collectionner

WBOY
Libérer: 2023-05-19 15:26:38
original
627 Les gens l'ont consulté

En PHP, les tableaux et les ensembles sont des structures de données très courantes. Un tableau est une collection ordonnée pouvant contenir différents types de données, tels que des nombres, des chaînes et des objets. Un ensemble est plus abstrait et représente une collection d’éléments, où chaque élément est unique et n’a pas d’ordre ni d’index spécifique.

Dans le développement réel, nous avons souvent besoin de convertir un tableau en un ensemble pour faciliter des recherches et des opérations plus efficaces. En PHP, il est très simple d'implémenter cette conversion, et cet article présentera les méthodes et techniques d'implémentation.

1. Utilisez la fonction array_unique

En PHP, il existe une fonction intégrée array_unique, qui peut être utilisée pour supprimer les éléments en double d'un tableau. La syntaxe de base de cette fonction est la suivante :

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
Copier après la connexion

Parmi eux, $array représente le tableau qui doit être dédupliqué, $sort_flags représente la méthode de tri facultative, les plus courantes sont SORT_STRING (trié par chaîne), SORT_NUMERIC (trié par numéro) et SORT_REGULAR (tri selon l'ordre naturel) etc.

Si vous transmettez un tableau à la fonction array_unique, elle renverra un nouveau tableau contenant des éléments uniques. Par exemple :

$arr = array(1,2,2,3,3,3);
$set = array_unique($arr);
print_r($set); // 输出 Array ( [0] => 1 [1] => 2 [3] => 3 )
Copier après la connexion

On peut voir que l'utilisation de la fonction array_unique peut facilement convertir un tableau en un ensemble.

2. Utilisez la fonction array_flip

En plus d'utiliser la fonction array_unique, il existe un autre moyen simple de convertir un tableau en collection, qui consiste à utiliser la fonction array_flip. Cette fonction est utilisée pour échanger les clés et les valeurs du tableau, c'est-à-dire que les valeurs du tableau sont utilisées comme clés du nouveau tableau et les clés d'origine sont ignorées. La syntaxe de base de la fonction est la suivante :

array array_flip ( array $array )
Copier après la connexion

Parmi eux, $array représente le tableau dont les clés et les valeurs doivent être échangées. Si vous transmettez un tableau à la fonction array_flip, elle renvoie un nouveau tableau avec les valeurs du tableau d'origine comme clés et toutes les valeurs du nouveau tableau. Par exemple :

$arr = array('a', 'b', 'c');
$set = array_flip($arr);
print_r($set); // 输出 Array ( [a] => 0 [b] => 1 [c] => 2 )
Copier après la connexion

Puisque les éléments de l'ensemble doivent être uniques, on peut ignorer les valeurs du nouveau tableau et ne conserver que ses clés, c'est-à-dire :

$arr = array('a', 'b', 'c');
$set = array_flip($arr);
$set = array_keys($set);
print_r($set); // 输出 Array ( [0] => a [1] => b [2] => c )
Copier après la connexion

De cette façon, on obtient un ensemble contenant tous les éléments du tableau d'origine.

3. Utilisez la fonction array_reduce

Une autre méthode courante consiste à utiliser la fonction array_reduce. Cette fonction est utilisée pour calculer de manière itérative tous les éléments du tableau et renvoyer un résultat final. La syntaxe de base de la fonction est la suivante :

mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
Copier après la connexion

Parmi eux, $array représente le tableau qui doit être calculé de manière itérative, $callback est une fonction de rappel utilisée pour calculer les éléments du tableau, $initial est une valeur initiale facultative. , utilisé pour spécifier l'itération de l'état initial du processus. La syntaxe de base de la fonction de rappel est la suivante :

mixed function callback ( mixed $carry , mixed $item )
Copier après la connexion

Parmi eux, $carry représente le résultat de l'itération précédente, et $item représente l'élément de l'itération en cours. La fonction de rappel génère un nouveau résultat de calcul basé sur le dernier résultat de calcul et l'élément actuel, et le renvoie à la fonction array_reduce pour l'itération suivante.

Afin de convertir un tableau en collection, nous devons utiliser la technique de déduplication dans la fonction de rappel. Plus précisément, nous pouvons utiliser la technique de référence de tableau en PHP pour utiliser la valeur comme clé dans la collection et définir la valeur elle-même sur 1 pour garantir que la valeur correspondant à chaque clé est 1, garantissant ainsi que les éléments de la collection sont uniques. . Le code est le suivant :

$arr = array(1,2,2,3,3,3);
$set = array_reduce($arr, function(&$res, $cur){
    $res[$cur] = 1;
    return $res;
}, array());
print_r(array_keys($set)); // 输出 Array ( [0] => 1 [1] => 2 [2] => 3 )
Copier après la connexion

Grâce au traitement de la fonction de rappel ci-dessus, nous avons réussi à convertir le tableau d'origine en une collection. Bien entendu, nous pouvons également utiliser d'autres opérations spécifiques à l'ensemble dans la fonction de rappel, telles que l'intersection, l'union, la différence, etc.

Résumé

La conversion d'un tableau en collection est très courante dans le développement réel. PHP propose plusieurs façons d'effectuer cette conversion, notamment en utilisant les fonctions intégrées array_unique, array_flip et array_reduce, chacune avec ses propres avantages et inconvénients. Dans des scénarios réels, les développeurs peuvent choisir différentes méthodes en fonction de situations spécifiques pour garantir l'efficacité et la lisibilité du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal