Maison >cadre php >Laravel >tableau laravel supprimer le même

tableau laravel supprimer le même

PHPz
PHPzoriginal
2023-05-26 11:28:37913parcourir

Laravel est un framework de développement PHP populaire qui fournit de nombreuses fonctions auxiliaires pratiques. Au cours du développement, il arrive souvent que vous deviez supprimer des valeurs identiques d'un tableau. Cet article explique comment utiliser les propres fonctions d'assistance de Laravel pour réaliser cette fonction.

  1. Utiliser la fonction array_unique

La fonction array_unique est une fonction fournie avec PHP et peut être utilisée pour supprimer les valeurs en double​​dans un tableau. L'utilisation de cette fonction est très simple, il suffit de passer en paramètre le tableau à dédupliquer.

Par exemple, nous avons un tableau $arr, dont les éléments sont les suivants :

$arr = [1, 2, 2, 3, 4, 4, 4, 5];

Si vous souhaitez supprimer les éléments en double, vous pouvez utiliser la fonction array_unique :

$uniqueArr = array_unique($arr);

De cette façon, $uniqueArr est un tableau dédupliqué.

Cependant, cette méthode présente un inconvénient, c'est-à-dire que l'indice de l'élément de tableau supprimé sera réinitialisé, elle ne convient donc pas aux situations où l'indice d'origine doit être conservé.

  1. Utilisation des fonctions auxiliaires de Laravel

Laravel fournit une série de fonctions auxiliaires pratiques et pratiques, y compris des fonctions de traitement des tableaux. L'une des fonctions couramment utilisées est la fonction collect, qui peut envelopper un tableau dans une collection, puis utiliser les méthodes fournies par la collection pour fonctionner.

Utilisez la fonction collect pour encapsuler le tableau dans une collection :

$collection = collect($arr);

Ensuite, nous pouvons utiliser la méthode unique pour supprimer les mêmes éléments :

$uniqueCollection = $collection->unique();

De cette façon, $uniqueCollection est une collection après déduplication.

La différence avec la fonction array_unique est qu'après avoir utilisé la méthode unique, les indices des éléments du tableau d'origine sont conservés. Si vous devez renvoyer un tableau sans indices, vous pouvez utiliser la méthode des valeurs :

$uniqueArr = $uniqueCollection->values()->all();

De cette façon, $uniqueArr est un tableau sans indices après déduplication.

  1. Utilisez la classe Collection de Laravel

En plus d'utiliser des fonctions d'assistance, Laravel fournit également une autre méthode plus pratique, qui consiste à utiliser la classe Collection.

La classe Collection est une classe de collection fournie par Laravel, qui encapsule diverses opérations sur les tableaux. Les opérations sur les tableaux peuvent être effectuées plus facilement à l’aide de la classe Collection.

Les étapes pour utiliser la classe Collection pour la déduplication sont les suivantes :

Tout d'abord, créez une instance Collection :

$collection = collect($arr);

Ensuite, utilisez la méthode unique pour dédupliquer :

$uniqueCollection = $collection->unique();

Enfin, vous pouvez utiliser la méthode toArray pour convertir le collection dans un tableau :

$uniqueArr = $uniqueCollection->toArray();

Par rapport à l'utilisation de fonctions auxiliaires, l'utilisation de la classe Collection peut réduire la redondance du code et rendre le code plus simple et plus facile à comprendre.

Résumé

Cet article explique comment utiliser Laravel pour supprimer les valeurs identiques​​dans un tableau. L'utilisation de la fonction array_unique fournie avec PHP peut facilement dédupliquer un tableau, mais cela peut poser le problème de la réinitialisation de l'indice du tableau. L'utilisation des fonctions d'assistance ou des classes Collection de Laravel peut éviter ce problème et fournir une implémentation de code plus pratique. En développement réel, vous pouvez choisir une méthode appropriée pour effectuer la déduplication de la baie en fonction de vos besoins.

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!

Déclaration:
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