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 :

Syntaxe de fonction qui renvoie un tableau


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 54
    Points : 56
    Points
    56
    Par défaut Syntaxe de fonction qui renvoie un tableau
    Bonjour,

    Je voudrais savoir si ceci est possible, s'il existe une syntaxe particulière pour que ça marche ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    function bop(){
    	$tab = array("1", "2", "3");
    return $tab;
    }
     
    echo bop()[0]."<br />\n";
     
    ?>
    Merci.

  2. #2
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 35
    Points : 46
    Points
    46
    Par défaut
    ou sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
     
    function kikoo($key=null)
    {
    	$tab = array ( 1, 2, 3);
     
    	return ($key !== null) ? $tab[$key] : $tab;
    }
     
    echo kikoo(0);

  3. #3
    Membre actif Avatar de Korri
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 158
    Points : 232
    Points
    232
    Par défaut
    Plus clairement, utiliser ta fonction comme ça n'a pas de grand interet, soi tu retourne une seule valeur (comme l'a suggéré ash_le_parisien), ou alors tu stoque le résultat dans un variable pour utiliser plusieurs valeurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
     
    function bop(){
    	$tab = array("1", "2", "3");
    return $tab;
    }
     
    $result = bop();
    echo $result[0]."<br />\n";
     
    ?>
    Bonne continuation !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 54
    Points : 56
    Points
    56
    Par défaut
    C'était simplement pour savoir si on pouvait utiliser directement dans un calcul une fonction qui renvoie un tableau... étant donné qu'on peut le faire dans certains langages et que ça marche avec une fonction qui renvoie un entier.

    M'enfin si vous m'affirmez qu'on ne peut pas le faire en PHP c'est bon.

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Salut,

    Si tu peux tout à fait renvoyer un tableau dans une fonction, voir Exemple #2 dans le manuel Les valeurs de retour

    Le problème viens juste de l'affichage, tu ne peux pas afficher directement le tableau avec un echo, il faut faire une boucle

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 54
    Points : 56
    Points
    56
    Par défaut
    Oui ça je suis d'accord.
    Sans parler d'affichage, ma question serait plutôt dans ce genre là :

    Comment faire pour utiliser directement dans un calcul le tableau renvoyé par la fonction bop(), le code suivant ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
     
    function bop(){
    	$tab = array("1", "2", "3");
    return $tab;
    }
     
    $a = bop()[0] + 1;
    echo $a;
     
    ?>
    Sans faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $tab = bop();
    $a = $tab[0] + 1;
    est-ce possible ?

    Merci.

  7. #7
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Bonjour,

    Est-ce possible, je ne crois pas.
    La vraie question, c'est pourquoi faire cela ?
    Trouvez-vous que cela améliore la lisibilité et donc la maintenabilité de votre code ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 54
    Points : 56
    Points
    56
    Par défaut
    Un exemple, un exemple !!!

    Je suis là, on me dit qu'il existe une fonction en php qui renvoit dans un tableau la largeur, la longeur, le type.... d'une image passée en paramètre.
    Je n'ai besoin que de la largeur.

    Alors je commence à coder sans me prendre la tête....
    plingplingpling

    $largeur = getimagesize("nom_image")[0];

    Ca ne marche pas, je me demande pourquoi alors que ça marche.... euh en java par exemple.
    Je me dis que je dois me tromper dans la syntaxe, je ne trouve pas la réponse sur le net, je viens donc poser la question ici.

    Et voili.

  9. #9
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    C'est vrai que le comportement serait logique.
    J'avoue même m'être posé la même question en son temps.
    Je ne serais même pas étonné que la compilation soit possible si cela ne bloquait pas à l'analyse syntaxique.

    Mais c'est une limitation de ce langage (peut être pas permanente, à suivre, je ne sais pas si une modif est prévue sur ce point) qu'il faut accepter.



    Ceci dit, y a pas mort d'homme...

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 54
    Points : 56
    Points
    56
    Par défaut
    Ok, bin c'est tout ce que je voulais savoir.

    Merci.

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

Discussions similaires

  1. fonction qui renvoie un tableau
    Par deubelte dans le forum C++
    Réponses: 24
    Dernier message: 26/05/2007, 02h51
  2. fonction qui renvoie un tableau
    Par GLSpirit dans le forum C++
    Réponses: 9
    Dernier message: 12/05/2007, 15h05
  3. fonction qui renvoie un tableau
    Par toto2022 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/01/2007, 17h11
  4. Comment faire une fonction qui renvoi un tableau.
    Par poly128 dans le forum Delphi
    Réponses: 2
    Dernier message: 01/06/2006, 02h04
  5. Fonction qui renvoie un tableau?
    Par elm dans le forum C
    Réponses: 23
    Dernier message: 21/12/2005, 13h44

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