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 :

alimenter un tableau à l'aide d'une fonction [PHP 7]


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut alimenter un tableau à l'aide d'une fonction
    Bonjour,

    je justifie mon statut de (vieux) débutant : je souhaite créer une fonction qui ajoute une donnée à un tableau.
    Voici mon code actuel :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public function FeedIDApplication( $appli_name, $ID)
       {
           $ID[]=$appli_name;
       }
     
    //l'appel à la fonction :
    $LCSVInBDD->FeedIDApplication( $applicationname, $this->id_application);
    Avec ce code, le tableau $this->id_application n'est pas alimenté. Comment faut faire, SVP ?

  2. #2
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    j'ai trouvé une solution qui vaut ce qu'elle vaut (vous avez le droit de critiquer), mais elle fait le boulot :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public function FeedIDApplication( $appli_name, $ID)
    {
        $size_array=count($ID);
     
        $result = array_pad($ID,$size_array+1 ,$appli_name);
     
        return($result);}
     
    //l'appel à la fonction :
    $this->id_application=$LCSVInBDD->FeedIDApplication( $applicationname, $this->id_application);

  3. #3
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Points : 3 076
    Points
    3 076
    Par défaut
    Dans ton premier post, tu définis deux paramètres "par valeur": publicfunction FeedIDApplication($appli_name, $ID). Par valeur et donc ce qui est fait "dans la fonction" reste dans la fonction. Ce que tu cherchais à faire, c'est possible mais par référence : public function FeedIDApplication( $appli_name, &$ID) (note le ampersand devant la seconde variable)

    Là, cela aurait pû fonctionne (**je n'ai pas testé**).

    Toutefois, ce type d'appel devrait être limité au maximum. Dans ton premier post, tu as une fonction qui ne retourne rien; il suffirait que tu fasses un return; ce que tu fais dans ton deuxième exemple.

    Au-delà de tes exemples: tu cherches donc à ajouter une entrée à un tableau; tu peux faire ça simplement : $this->id_application[] = 'PHP Doc';Quelques remarques :

    * Ton code est "PHP 4" (ou pire); permets-moi d'être direct, c'est pour insister sur le fait que nous avons PHP 7 depuis un paquet d'années maintenant et nous avons les types de données p.ex. (string, array, ...). Ta fonction serait plus propre comme ceci :
    public function feedIDApplication(string $appli_name, array $ID): array; tu définis le type des paramètres et tu définis ce que tu renvoies,
    * Une fois tu utilises $appli-name et une autre fois, pour strictement la même variable $applicationname,
    * Ta fonction semble être plus un helper qu'une fonction d'une classe puisqu'il n'y a aucune dépendance à une donnée de la classe; du coup $LCSVInBDD->FeedIDApplication pourrait devenir MonHelper::FeedIDApplication (il faut définir une nouvelle classe MonHelper avec une fonction publique et statique FeedIDApplication* Ta variable $size_array=count($ID); ne sert pas à grand chose, juste un appel dans la fonction array_pad($ID,$size_array+1 ,$appli_name);; du coup, tu peux optimiser avec array_pad($ID,count($ID)+1 ,$appli_name);; cette syntaxe n'est pas plus compliquée à lire, tu te passes d'une variable qui finalement ne servait à rien,
    * ...

    Je ne vais pas te suggérer de lire encore et encore des tutoriels PHP 7, je suppose que tu l'as déjà fait.

    Un conseil différent du coup : beaucoup plus compliqué à mettre en oeuvre mais si tu réussis à le faire, le logiciel https://github.com/rectorphp/rector est un must have (un coach hors pair !) pour apprendre à mieux coder. Mais, oui, il faut déjà une certaine maîtrise; à garder sous le coude.

    Bonne soirée.


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

Discussions similaires

  1. Déplacer un tableau html à l'aide d'une fonction javascript
    Par Sidi-Bou dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 14/02/2008, 14h20
  2. passage d'un tableau en parametre d'une fonction
    Par ataya dans le forum C++Builder
    Réponses: 10
    Dernier message: 26/10/2005, 14h30
  3. Besoin d'aide sur une fonction
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/08/2005, 18h40
  4. Passer un tableau en parametre dans une fonction js
    Par hellmaster78 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/06/2005, 15h35
  5. tableau javascript ecrit par une fonction asp
    Par LineLe dans le forum ASP
    Réponses: 4
    Dernier message: 03/11/2003, 09h38

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