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 :

méthode _toString affichage inversé


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Autre
    Inscrit en
    Mars 2021
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mars 2021
    Messages : 206
    Points : 93
    Points
    93
    Par défaut méthode _toString affichage inversé
    Bonjour,
    je suis des petits tutos pour débutants sur les classes en PHP :
    J'ai créé une classe toute simple avec nom, prénom, notes(notes est un tableau) jusqu'ici tout fonctionne. Puis j'ai voulu essayer la méthode _toString :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function __toString() {
            return  $this->getNom() . " " . $this->getPrenom(). $this->notes();   
        }
    Dans notes() il y a juste une boucle pour récupérer les valeurs du tableau notes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public function notes() {
            echo "notes :";
            foreach($this->notes as $notes) {
               echo  $notes.  " " ;
            }
    quand je fais un echo de mon instance les notes apparaissent avant le nom et prénom et l'ordre n'est pas respecté. Est ce qu'il y a des priorités d'affichage? pourriez-vous m'expliquer mon erreur ?
    merci

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 331
    Points : 15 675
    Points
    15 675
    Par défaut
    la méthode "notes" affiche le résultat lors de l'appel.
    alors que "__toString" a besoin de récupérer la chaine de caractères.

  3. #3
    Membre régulier
    Homme Profil pro
    Autre
    Inscrit en
    Mars 2021
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mars 2021
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    Bonjour,
    Merci pour votre réponse rapide mais étant débutant j'ai du mal à comprendre et trouver la solution, la seule solution que j'ai trouvé est de faire différemment en supprimant notes() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function __toString() {
            $result =   $this->getNom() . " " . $this->getPrenom();
            $result .="<br> Notes : ";
            for($i=0; $i<count($this-> notes); $i++) {
                $result .=$this->notes[$i];
            }
          return $result;
        } 
     }
    Si vous avez la réponse à me suggérer je vais l'analyser pour comprendre
    Merci de m'avoir consacré votre temps

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

Discussions similaires

  1. Différentes méthodes d'affichage d'un bitmap
    Par atomicJo dans le forum MFC
    Réponses: 5
    Dernier message: 07/02/2008, 19h06
  2. Méthode d'affichage et prob de const
    Par allserv dans le forum C++
    Réponses: 32
    Dernier message: 08/01/2008, 22h32
  3. [Tableaux] affichage inversé !
    Par Bydouille dans le forum Langage
    Réponses: 5
    Dernier message: 19/09/2006, 14h20
  4. Méthode d'affichage avec MFC
    Par Blobette dans le forum MFC
    Réponses: 2
    Dernier message: 09/03/2005, 16h48

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