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 :

Retourner un array dans une fonction


Sujet :

Langage PHP

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    502
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 502
    Par défaut Retourner un array dans une fonction
    Bonjour

    La syntaxe d'une fonction retournant un array me pose problème.

    Plus exactement comme j'ai demandé à Chatgpt de générer du code PHP à partir d'un source C++ Builder et que ce dernier passe un pointeur sur un TStringList, l'IA l'a remplacé par un array ce qui ne me choque pas.

    Voici ce que ChatGPT propose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function codeToBase36(string $toCode, string $key): array {
        $result = [];
        $src = $toCode;
        $dest = $key;
        $len_dest = strlen($dest);
    ...
    }
    étant donné que le bracket d'ouverture de la fonction englobe le paramètre, comment fait PHP pour savoir que $src n'est pas un paramètre mais une variable locale ?

    De fait le serveur PHP n’exécute pas le code si cette fonction s'y trouve en l'état et même si je commentarise tout son contenu à l'exception des déclarations visibles ici.

    Le plus étrange est que le contrôleur de syntaxe https://www.bairesdev.com/tools/phpcodechecker/ ne voit rien d'anormal

    attendu que je suis très novice en PHP, puis-je solliciter un avis d'intelligence ... naturelle ?

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 530
    Par défaut
    Citation Envoyé par frantzgac Voir le message
    comment fait PHP pour savoir que $src n'est pas un paramètre mais une variable locale ?
    les seuls paramètres de la fonction sont $toCode et $key. les autres variables seront forcément des variables uniquement disponibles dans la fonction.

    vous pouvez trouver plus d'informations sur la portée des variables dans la documentation là :
    https://www.php.net/manual/fr/langua...bles.scope.php


    Citation Envoyé par frantzgac Voir le message
    De fait le serveur PHP n’exécute pas le code si cette fonction s'y trouve en l'état
    je n'ai pas compris si c'est une constatation ou quelque chose qui vous pose problème ?

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    502
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 502
    Par défaut
    Bonjour

    merci de votre réponse.

    Mon but est de construire une fonction avec deux paramètres qui renvoie un tableau de valeurs.

    La syntaxe de la fonction généré par ChatGpt depuis le C++ me parait curieuse.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function codeToBase36(string $toCode, string $key): array {
    apparait comme un compromis assez douteux.

    Il est vrai que la fonction C++ contient trois paramètres dont le troisième est un référence à un objet C++ dans lequel la fonction peut écrire.

    En PHP, soit le tableau de valeurs sera une variable passée par référence (est-ce possible ?) soit c'est une valeur de retour de la fonction (est ce possible ?)



    Je reprends mes essais...

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 530
    Par défaut
    il est possible de passer des paramètres par référence. mais si la fonction ne doit pas modifier un paramètre, la valeur de retour est envoyée avec return :
    https://www.php.net/manual/fr/functi...ing-values.php

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    502
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 502
    Par défaut
    Problème résolu
    Merci

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

Discussions similaires

  1. Retourner un array dans une fonction
    Par Hatsrog dans le forum Langage
    Réponses: 4
    Dernier message: 06/03/2015, 23h33
  2. Array dans une fonction Mysql
    Par yanis97 dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 28/01/2010, 16h53
  3. mise à jour d'array dans une fonction
    Par Kassar dans le forum Langage
    Réponses: 3
    Dernier message: 09/11/2008, 17h32
  4. Retourner un tableau dans une fonction
    Par oranoutan dans le forum Débuter
    Réponses: 14
    Dernier message: 05/10/2007, 14h39
  5. Retourné resultat curseur dans une fonction
    Par L8O8L dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/06/2007, 23h09

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