IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction de filtrage


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut Fonction de filtrage
    Bonjour à tous,

    Dans un array, je veux supprimer les valeurs '' ou null (mais ni les '0' ou les 0)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function filterEmpty($item) {
    	if ( ($item !== '') and !is_null($item) ) {
    		var_dump($item);
    		return $item;
    	}
    }
     
    foreach ($_SESSION['updateQuery'] as $key => $session) {
    	if ( !is_numeric($key) ) continue;
    	$arrFiltered = array_map('filterEmpty', $session);
    	var_dump($arrFiltered);
     
    }
    A la ligne 3, le filtrage est correct, par contre à la ligne 11, seule les '' sont supprimés mais les null persistent.

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Je dirais même mieux. Les '' sont remplacés par des null.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?phpfunction filterEmpty($item) {
     if ( ($item !== '') and !is_null($item) ) {
      var_dump($item);
      return true;
     }
     return false;
    }
     
     
    $sessions = array(array("", 1, "b",null, 2, 5, "", 6, null,"",7));
    foreach ($sessions as $key => $session) {
     if ( !is_numeric($key) ) continue;
     $arrFiltered = array_filter($session,'filterEmpty');
     var_dump($arrFiltered);
     
    }
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut
    Eh oui, je viens de comprendre pourquoi en relisant la doc: "La fonction array_map() retourne un tableau contenant tous les éléments du tableau array1".
    Les éléments qui ne sont pas définis sont donc retourné comme null.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction de filtrage specifique
    Par pat100 dans le forum Django
    Réponses: 0
    Dernier message: 23/01/2013, 15h21
  2. fonction de filtrage
    Par pat100 dans le forum Django
    Réponses: 2
    Dernier message: 20/11/2012, 17h09
  3. fonction pour filtrage avec des combobox en cascade
    Par Montor dans le forum Contribuez
    Réponses: 3
    Dernier message: 09/11/2009, 12h05
  4. Fonctions de filtrage d'imageJ
    Par Kro86 dans le forum ImageJ
    Réponses: 9
    Dernier message: 04/08/2008, 17h03
  5. [MySQL] Inclure une fonction de filtrage
    Par Hamzaxxx dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/12/2007, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo