Maison >développement back-end >tutoriel php >Comment filtrer les lignes d'un tableau en faisant correspondre les valeurs à l'aide de array_uintersect() ?
Conserver les lignes du tableau correspondant aux valeurs dans un tableau plat
Contexte :
Vous avez un tableau, $arr1, avec plusieurs colonnes et un autre tableau, $arr2, contenant une liste de valeurs. L'objectif est de filtrer $arr1 et de conserver uniquement les lignes où la colonne id correspond à une valeur dans $arr2.
Solution :
Utilisation de array_uintersect() :
La solution la plus efficace utilise la fonction array_uintersect(), qui compare les éléments de deux tableaux à l'aide d'un rappel défini par l'utilisateur. Dans ce cas, le rappel vérifie si les valeurs d'identifiant correspondent.
var_export( array_uintersect( $arr1, $arr2, fn($a, $b) => ($a['id'] ?? $a) <=> ($b['id'] ?? $b) ) );
Explication :
Avantages de array_uintersect() :
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!