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 :

Explication 2 return dans une meme fonction


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut Explication 2 return dans une meme fonction
    Bonjour,

    A regardant les différents fichiers de mon projet, je suis tombé sur une fonction qui a 2 return l'un à la suite de l'autre.

    J'ai beau regarder sur internet, c'est sensé être impossible, ou du moins on sort de la fonction au premier return.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    static function responseToArray($response){
     
    		$array = array();
    		foreach($response as $k=>$v){
    			if (is_object($v))  {
    				$array[$k] = Toto::responseToArray($v);
    			}
    			else { $array[$k] = $v;
    			}
    		}
    		return $array;
     
    		return $response;
    	}
    Pouvez m'expliquer si c'est normal, et si ça sert a quelque chose.
    C'est un fichier SDK, donc récupérer a partir d'un outil pour le paiement en ligne.

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Est-ce que ça provoque une erreur ? non.
    est-ce que $response est retourné ? non. De toute façon, il n'a pas besoin d'être retourné, il est passé en paramètre et n'est pas modifié...
    Si on voulait retourner 2 variables depuis une fonction, il faut les ranger dans un tableau PHP et retourner le tableau...

    Sinon, ceci pourrait avoir un sens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    static function responseToArray($response){
    	$array = array();
    	foreach($response as $k=>$v){
    		if (is_object($v))  {
    			$array[$k] = Toto::responseToArray($v);
    		}
    		else { $array[$k] = $v;
    		}
    	}
    	if(count($array)>0){
    		return $array;
    	}
    	return $response;
    }
    Si le traitement fonctionne, retourne le tableau, sinon, retourne au moins le paramètre de départ.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Euh... Je confirme : normalement, on sort de la fonction au 1er return.

    EDIT : j'ai testé et effectivement on sort au 1er return
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    C'est bien ce qu'il me semblait.

    Je voulais juste avoir une confirmation, étant donné que que c'est inutile de faire ça.

  5. #5
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    J'ai édité, si tu peux relire... j'ai trouvé une petite modif possible et pertinente.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2014
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 322
    Points : 124
    Points
    124
    Par défaut
    Je comprends parfaitement.

    Et c'est tout a fait logique d'avoir un return en dehors de toute condition ou boucle.

    Mais la les deux....

    Merci a vous deux

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

Discussions similaires

  1. Plusieurs return dans une fonction
    Par ninikkhuet dans le forum Langage
    Réponses: 4
    Dernier message: 19/05/2010, 12h45
  2. Réponses: 2
    Dernier message: 07/05/2010, 17h10
  3. plusieurs return dans une seule fonction?
    Par grodashe dans le forum Débuter
    Réponses: 4
    Dernier message: 01/01/2010, 17h09
  4. plusieurs return dans une fonction?
    Par contremaitre dans le forum C
    Réponses: 27
    Dernier message: 21/02/2008, 09h35
  5. valeur du return dans une "fonction"
    Par Papy214 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 20/12/2007, 15h53

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