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

      Information sur le code

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


Information sur les mises à jour

Dernière mise à jour :

    02 Sept 2019
    fonctionnement du code vérifié

4 645  vues
Compatibilité du code
PHP 5, PHP 7 et PHP 8
  code classé dans   Tableaux - Array
  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    
                               
/*------------------------------*/
/*
Titre : Filtre un tableau en fonction de la valeur d'une colonne

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

   php.net  
Description
Versions PHP
    array
Crée un tableau
PHP 4, 5, 7 et 8
    array_diff
Calcule la différence entre des tableaux
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 7, PHP 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


 Autres snippets qui pourraient vous intéresser

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.

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

  Les derniers scripts PHP / MySQL

WordPress 6.9.4

logo WordPress
Langue langue fr
Date  aujourd'hui
Taille 34 Mo
Catégorie Blogs

Zen Cart 2.2.1

logo Zen Cart
Langue langue fr
Date  hier
Taille 9 Mo
Catégorie Ecommerce

ZwiiCMS 14.1.06

logo ZwiiCMS
Langue langue fr
Date 28 Mars 2026
Taille 8 Mo
Catégorie CMS

WAMP 3.3.0 x32

logo WAMP
Langue langue fr
Date 28 Mars 2026
Taille 327 Mo
Catégorie Wamp

TYPO3 14.1.1

logo TYPO3
Langue langue fr
Date 28 Mars 2026
Taille 34 Mo
Catégorie CMS

SuiteCRM 8.9.3

logo SuiteCRM
Langue langue en
Date 28 Mars 2026
Taille 112 Mo
Catégorie CRM
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 645 Vues
Compatibilité du code
PHP 5, PHP 7, PHP 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