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 :

[Tableaux] supprimer élément


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 29
    Par défaut [Tableaux] supprimer élément
    Salut tout le monde!
    J'ai une classe maclasse et une fonction supprimerElement:
    Code : 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
    17
    18
    class maclasse
    {
        var listeElement;//tableau
     
         function supprimerElement($index) 
    	{
    		$i=0;
    		$taille=sizeof($this->listeElement);
    		for($i=$index;$i<$taille-1;$i++)
    			{
    				$this->listeElement[$i]=$this->listeElement[$i+1];
     
    			}
    		$this->listeElement=(array_chunk($this->listeElement, $taille-1));
    		$this->listeElement=$this->listeElement[0];
     
            }
    }
    La fonction supprimerElement permet de supprimer l'élément d'indice $index du tableau.
    Mon code ne fonctionne pas surtout si on supprime le dernier élément du tableau.
    Quelqu'un a une autre idée?
    Merci d'avance.

  2. #2
    Fabouney
    Invité(e)
    Par défaut
    Bonjour,

    pour moi ta même pas besoin de parcourir tout le tableau, essay juste de faire ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //si l'index est présent dans le tableau
    if($index <= sizeof($this->listeElement) ) {
        unset($this->listeElement[$index])
    }else{
        echo "l'index recherché n'existe pas !";
    }
    le seul truc c'est que je ne sais pas si les éléments situé après l'élément supprimé sont déplacer vers la gauche.
    c'est la seul chose à vérifier.

  3. #3
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Ce code ne compile pas parce que la variable $listeElement est mal déclarée (ajouter un $ devant).

    A part ça, il fonctionne fort bien d'après moi (quoique, en tout état de cause, mieux vaudrait tester $index dans la fonction pour vérifier qu'il n'est pas hors bornes).

  4. #4
    Fabouney
    Invité(e)
    Par défaut
    logiquement avec ma méthode il y a aucun soucis.

  5. #5
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Exact. 8) Je la trouve plus élégante, d'ailleurs, à condition toutefois de corriger le test en entrée de boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($index < sizeof($this->listeElement) )

  6. #6
    Fabouney
    Invité(e)
    Par défaut
    oui en effet. lol, tient nous au courant miram, une fois ton element a l'index n de supprimer, fait un print_r() de ton tableau, pour voir si comme je te l'ai dit, les éléments situé apres l'élément supprimé ont été déplacer vers la gauche ou non, si c'est le cas, alors ce petit bout de code te fera très bien l'affaire.

  7. #7
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 29
    Par défaut reponse
    Merci beaucoup pour vos conseils.Si vous ne m'avez pas dit que mon code marche bien, je crois que j'y suis encore resté.
    Au fait, la fonction SupprimerElement marche bien. Mon problème se trouve sur mon formulaire et je l'ai déjà résolu.
    Dans ma classe donc j'ai 4 fonctions(afficher, ajouterElement, modifierElement, supprimerElement).
    J'utilise cette classe pour remplir un formulaire.
    C'est à dire qu'un utilisateur peut ajouter plusieurs éléments, en modifier et en supprimer avant de valider le formulaire.
    Le probleme vient donc de cette page mais pas de la classe.
    Je m'excuse!
    Merci beaucoup.

  8. #8
    Fabouney
    Invité(e)
    Par défaut
    Mais bon tu pourrais meme optimiser un peu ton traitement avec le unset().
    n'oublie pas le tag résolu...

    bye bye.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 12/08/2009, 15h05
  2. Réponses: 4
    Dernier message: 07/05/2009, 13h50
  3. [Tableaux] supprimer un élément d'un tableau
    Par banzzai dans le forum Langage
    Réponses: 1
    Dernier message: 15/09/2006, 15h52
  4. [Tableaux] Supprimer 1 élément particulier d'1 tableau
    Par harlock59 dans le forum Langage
    Réponses: 22
    Dernier message: 17/05/2006, 16h50
  5. [Tableaux] Supprimer une clé d'un tableau
    Par Anduriel dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2005, 21h04

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