Filtre un tableau en fonction de la valeur d'une colonne

  Information

Voici un bout de code permettant de nettoyer, filtrer un ensemble d'enregistrements en fonction de la valeur d'une colonne.

  code source classé dans  Tableaux - Array

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
                               
/*---------------------------------------------------------------*/
/*
Titre : Filtre un tableau en fonction de la valeur d'une colonne

URL : https://phpsources.net/code_s.php?id=1065
Auteur : sheppy1
Date édition : 09 Mars 2019
Date mise a jour : 02 Sept 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*---------------------------------------------------------------*/

function dictionaryFilterList(array $source, array $data, string $column) :
array
{
$new = array_column($data, $column);
$keep = array_diff($new, $source);

return array_intersect_key($data, $keep);
}
?>

Exemple :

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
                                

$users = [
['first_name' => 'Jed', 'last_name' => 'Lopez'],
['first_name' => 'Carlos', 'last_name' => 'Granados'],
['first_name' => 'Dirty', 'last_name' => 'Diana'],
['first_name' => 'John', 'last_name' => 'Williams'],
['first_name' => 'Betty', 'last_name' => 'Boop'],
['first_name' => 'Dan', 'last_name' => 'Daniels'],
['first_name' => 'Britt', 'last_name' => 'Anderson'],
['first_name' => 'Will', 'last_name' => 'Smith'],
['first_name' => 'Magic', 'last_name' => 'Johnson'],
];

var_dump(dictionaryFilterList(['Dirty', 'Dan'], $users, 'first_name'));

// sortie: La fonction à  "nettoyer" les 2 éléments (Dirty et Dan)
[
['first_name' => 'Jed', 'last_name' => 'Lopez'],
['first_name' => 'Carlos', 'last_name' => 'Granados'],
['first_name' => 'John', 'last_name' => 'Williams'],
['first_name' => 'Betty', 'last_name' => 'Boop'],
['first_name' => 'Britt', 'last_name' => 'Anderson'],
['first_name' => 'Will', 'last_name' => 'Smith'],
['first_name' => 'Magic', 'last_name' => 'Johnson']
]
?>

      Fonctions du code - Doc officielle PHP

Détail    php.net  
Description
Versions PHP
   array
Crée un tableau
PHP 4, 5, 7 et 8
   array_diff
Calcule la différence entre deux tableaux (PHP 4 >= 4.0.1, PHP 5, PHP 7)
PHP 4, 5, 7 et 8
   array_intersect_key
Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison (PHP 5 >= 5.1.0)
PHP 4, 5, 7 et 8
   return
Retourne le controle du programme au module appelant.
PHP 4, 5, 7 et 8
   var_dump
Affiche les informations d'une variable
PHP 4, 5, 7 et 8

   Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir wink

 Autres snippets qui pourraient vous intéressez

Remplace récursivement une valeur selon la clé

Compatibilité : PHP 5, PHP 7, PHP 8

Fonction qui remplace une valeur dans un tableau en utilisant soit une clé ou une valeur du tableau. A la même fonction que str_replace () mais pour un tableau.

Recompose un tableau à partir d'une clé et une valeur

Compatibilité : PHP 5, PHP 7, PHP 8

Cette fonction fait le contraire de array_keys et array_values : Elle prend deux tableaux (un de clés, un de valeurs), et en fait 1 tableau.

Renvoie la valeur de la variable ou 1 valeur par défaut

Compatibilité : PHP 5, PHP 7, PHP 8

Cette fonction permet de tester si la variable spécifiée existe. Si elle existe, on renvoie la valeur de la variable.

En PHP mise en colonne de datas

Compatibilité : PHP 5, PHP 7, PHP 8

Cette fonction met une mise en colonne de datas pour affichage HTML en passant le tableau et le nombre de colonnes.

En PHP extrait et filtre les comptes hashtags d'une chaine

Compatibilité : PHP 5, PHP 7, PHP 8

Fonctions pour extraire, nettoyer, filtrer des comptes hashtags venu d'une chaine de caractère ou de n'importe quel texte. Pratique pour remonter des comptes.

* Requêtes exécutées avec Recherche Contextuelle
avatar

Sheppy1

  09 Mars 2019

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

    02 Sept 2019
    fonctionnement du code vérifié

4 597 Vues
Compatibilité du code
PHP 5, 7 et 8+
34 codes

Catégorie :  Tableaux - Array

Affiche la distance entres 2 villes via un array associatif
Affiche les doublons d'un tableau associatif
Affiche tous les éléments d'un tableau multidimensionnel
Affiche un array sur plusieurs colonnes
Affiche un nombre d'éléments par ligne
Affiche un tableau sur x colonnes
Affiche un tableau unidimensionnel dans une table HTML
Calcule la somme de nombres dans des tableaux multidimensionnels
Cherche en PHP les éléments uniques d'un tableau
Comment dupliquer un tableau
Convertir un tableau PHP en JavaScript
Filtre un tableau en fonction de la valeur d'une colonne
Fonction de base anti spam
Fonction pour lister les tableaux
Fonction récursive pour remplacer une valeur selon la clé
Fusionne 2 tableaux
Insère un élément dans un tableau a une place donnée
Linéarise un tableau associatif
Mélange aléatoirement les éléments d'un tableau
Obtenir les valeurs communes à plusieurs tableaux
Place des éléments à la fin d'un tableau
Place tous les mots d'une chaine dans un tableau
Recompose un tableau à partir d'une clé et une valeur
Retourne les éléments d'un tableau mélangé aléatoirement
Sépare les éléments pair et impair d'un tableau
Supprime les éléments vides d'un tableau
Supprime les doublons d'un tableau
Supprime un élément dans un tableau
Test l'existence de doublons dans un tableau associatif
Test si c'est un tableau d'entiers
Test si un tableau est multidimensionnel
Transforme un tableau en un tableau associatif
Utiliser array_unique sur un tableau de tableaux
Vérifier si un tableau est associatif ou séquentiel