Comment conserver les lignes d'un tableau avec des valeurs de colonne correspondantes à partir d'un tableau plat ?

Linda Hamilton
Libérer: 2024-10-24 04:17:02
original
436 Les gens l'ont consulté

How to Retain Array Rows with Matching Column Values from a Flat Array?

Conserver les lignes du tableau avec les valeurs de colonne correspondantes à partir d'un tableau plat séparé

Étant donné un tableau $arr1 avec plusieurs colonnes et un deuxième tableau plat $ arr2 contenant une liste de valeurs de colonne spécifiques, l'objectif est de filtrer $arr1 et d'extraire uniquement les lignes où les valeurs d'une colonne particulière correspondent aux éléments de $arr2.

Solution :

Pour effectuer efficacement cette tâche, array_uintersect() peut être utilisé. Cette fonction native utilise un algorithme de tri lors de la comparaison pour améliorer la vitesse d'exécution. Il faut deux tableaux et une fonction de rappel personnalisée pour déterminer la logique de comparaison.

Dans le code fourni, la fonction de rappel exploite la déstructuration du tableau pour accéder à la colonne id de chaque élément de $arr1 et $arr2. Si la colonne id n'existe pas, la valeur par défaut du paramètre est la valeur.

La comparaison vérifie si les valeurs id des deux tableaux sont égales, en garantissant que les lignes de $arr1 correspondent aux valeurs de $arr2. Le résultat est un nouveau tableau contenant uniquement les lignes souhaitées de $arr1.

Cette approche offre des performances supérieures aux appels itératifs de in_array() grâce à des appels de fonction minimisés et un temps d'exécution optimisé.

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
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!