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 :

unset() et classe


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de sarah65536
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut unset() et classe
    Bonjour !

    J'ai une classe contenant un tableau et une methode pour supprimer des lignes de ce tableau.

    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
    19
    20
    21
    22
    23
    24
     
    class CActu {
    	...
            var $ligne;
    	...
     
     function supprime_ligne($num)
        {
     
           echo count($this->ligne);   // affiche le nombre d'elements du tableau avant la suppression
     
     
        // code qui decale les données, pour laisser la derniere vide    
            for ($i=$num;$i<(count($this->ligne));$i=$i+1)
            {
                $this->ligne[$i] = $this->ligne[$i+1];
            }
     
     
          unset ($this->ligne[$i]);// code qui est censé supprimer la ligne vide. 
     
     
             echo count($this->ligne);   // affiche le nombre d'elements du tableau apres la suppression
        }
    Lorsque j'execute ce code, j'obtiens: deux fois le meme nombre, ce qui veut die, que l'element de mon tableau n'a pas été supprimé.


    Je sais qu'il est dangereux de supprimer un element d'une classe. Seulement, je suis sure de ce que je fais. J'ai absolument besoin de supprimer l'element du tableau.

    J'ai appris, après maintes recherche, que la fonction 'unset()' ne fonctionne plus avec PHP 5
    Note: Il n'est pas possible de détruire la variable spéciale $this à l'intérieur d'une méthode d'un objet, depuis PHP 5.
    J'ai beau chercher, je ne trouve pas comment faire autrement. (apparement google refuse d'être mon ami malgrès tout mes efforts)
    Quelqu'un peut -il m'aider ?

    Merci

    Sarah

  2. #2
    Membre confirmé Avatar de sarah65536
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut
    C'est bon, j'ai trouvé la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array_splice($this->ligne,(count($this->ligne)-1));
    Ca suprime bien ma ligne !

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

Discussions similaires

  1. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  2. Réponses: 31
    Dernier message: 30/03/2006, 16h57
  3. Élaboration de classe
    Par il_a_ri dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 16/01/2003, 14h22
  4. Variable d'une Classe Ancêtre
    Par Génie dans le forum Langage
    Réponses: 3
    Dernier message: 18/09/2002, 19h24
  5. Sortir un typedef d'une classe
    Par Theophil dans le forum C++Builder
    Réponses: 13
    Dernier message: 03/07/2002, 17h21

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