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 :

Probème de unset


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Par défaut Probème de unset
    Bonjour,

    J'ai un problème d'unset sur un tableau lorsque les éléments du tableau sont eux même des tableaux.

    Je m'explique, je fais un moteur de recherche pour la boite où je suis en stage.
    Au retour de mes requêtes, je construis des tableaux qui ressemblent à ça :

    Array (
    [0] => Array (
    [id] => xxx
    [intitule] => Intitulé1
    [nbMotCle] => x
    )
    [1] => Array (
    [id] => xxx
    [intitule] => Intitulé2
    [nbMotCle] => x
    )
    .
    .
    .
    )

    J'ai des doublons (car plusieurs requêtes sont contenues dans le même tableau). Pour les supprimer j'ai bien essayé Mais il ne me laisse plus qu'une seule entrée vu que c'est toutes des tableaux...

    Je me suis donc fais une petite fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    for ($i = 0; $i < count($monTab); $i++)
    {
    	for ($j = 0; $j < count($monTab); $j++)
    	{
    		if($resultMetier[$i]['id'] == $resultMetier[$j]['id'] && $j != $i)
    		{ 
    			//unset($monTab[$i]['id']);
    			//unset($monTab[$i]['intitule']);
    			//unset($monTab[$i]['nbMotCle']);
    			unset($monTab[$i]);
    		}
    	}
    }
    Elle marche plutôt pas mal vu qu'elle agit sur les bonnes entrées. Le problème c'est qu'elle ne les supprime vraiment pas du tableau elle les vide
    Il devient comme ça (avec [0] une valeur que je veux garder, et [1] une valeur qui a été "unset") :

    Array (
    [0] => Array (
    [id] => xxx
    [intitule] => Intitulé1
    [nbMotCle] => x
    )
    [1] => Array (
    [intitule] =>
    [nbMotCle] => 0
    )
    .
    .
    .
    )
    Il n'y a que la colonne 'id' qui est correctement supprimée.

    Dans le code mit plus haut, j'ai mis des "unset" en commentaires, car comme ça ne marchait pas en faisant le "unset" sur l'entrée elle même, j'ai essayé sur les variables qui sont dedans, puis sur l'entrée, mais j'obtiens le même résultat. Également si j'"unset" la variable $i ou $j.

    Donc je ne sais pas si ça vient de ma fonction ou du unset qui serait mal utilisé ou mal approprié dans ce cas là.

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 28
    Par défaut
    Salut,

    unset ne sert qu'a vider l'occurrence, il ne la supprime pas.

    Si tu veux les supprimer après ton traitement unset tu rajoute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $array = array_values($array);
    C/C de : http://php.net/manual/fr/language.types.array.php

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Par défaut
    Ahh

    Merci

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

Discussions similaires

  1. [Tableaux] Problème avec unset
    Par bernard-jacot dans le forum Langage
    Réponses: 4
    Dernier message: 14/02/2006, 13h59
  2. [SQL] Probême de double curseur...
    Par plomy dans le forum Oracle
    Réponses: 7
    Dernier message: 17/01/2006, 12h17
  3. probème de concaténation
    Par claralavraie dans le forum Langage SQL
    Réponses: 7
    Dernier message: 22/12/2005, 17h42
  4. Probèmes connections serveurs IRC !
    Par Franck.H dans le forum Réseau
    Réponses: 9
    Dernier message: 22/10/2005, 19h45
  5. Probème de type entre access et delphi
    Par samlerouge dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/05/2004, 20h56

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