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 :

Faire un echo dans un return [PHP 5.2]


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Faire un echo dans un return
    Bonjour,

    J'ai une variable qui contient une string.
    Cette string est la déclaration de plusieurs tableaux (array) implémentés les uns dans les autres.
    Ma fonction doit retourner la déclaration de ces tableaux et non la string.

    Je souhaiterai savoir comme transformer ma variable string en chaîne de commande.

    Merci à tout les gens qui prendrons de le temps de répondre à ma question conne


    Kyra13

  2. #2
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Citation Envoyé par Kyra13 Voir le message
    Bonjour,

    J'ai une variable qui contient une string.
    Cette string est la déclaration de plusieurs tableaux (array) implémentés les uns dans les autres.
    Ma fonction doit retourner la déclaration de ces tableaux et non la string.

    Je souhaiterai savoir comme transformer ma variable string en chaîne de commande.

    Merci à tout les gens qui prendrons de le temps de répondre à ma question conne


    Kyra13
    Avec la fonction eval() ?

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Voici une partie de mon code, j'ai testé avec eval (), mais j'ai l'impression qu'il reconnait pas array.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     function getColisInformation($Parameter) 
    {	
    		...
    			$Info="Select DISTINCT ... From ... Where ...";
    			$Info=mssql_query($Info);
    			If (mssql_num_rows($Info)!=0)
    			{
    				$Reponse_Info=mssql_fetch_array($Info);
    				$Allez="Select DISTINCT ... From ... Where ...";
    				$Allez=mssql_query($Allez);
     
    				$Retour="Select DISTINCT ... From ... Where ...";
    				$Retour=mssql_query($Retour);
     
    				$i=0;
    				$item_allez="array('item' => array( ";
    				While ($Reponse_Allez=mssql_fetch_array($Allez))
    				{
    					$Date_Allez=dateheure_to_php($Reponse_Allez['VirginStatut_Date']);
    					$Lieu_Allez=$Reponse_Allez['VirginStatut_Lieu'];
    					$Libelle_Allez=utf8_encode($Reponse_Allez['VirginStatut_Libelle']);
    					$item_allez.=$i ."=> array('date' => '$Date_Allez', 'lieu' =>  '$Lieu_Allez ', 'comment' => '$Libelle_Allez '),";		
    					++$i;
    				}
    				$item_allez=substr($item_allez,0,strlen($item_allez)-1)." ))";
     
    				$i=0;
    				$item_retour="array('item' => array( ";
    				While ($Reponse_Retour=mssql_fetch_array($Retour))
    				{
    					$Date_Retour=dateheure_to_php($Reponse_Retour['VirginStatut_Date']);
    					$Lieu_Retour=$Reponse_Retour['VirginStatut_Lieu'];
    					$Libelle_Retour=utf8_encode($Reponse_Retour['VirginStatut_Libelle']);
    					$item_retour.=$i ."=> array('date' =>  '$Date_Retour', 'lieu' => '$Lieu_Retour' , 'comment' =>'$Libelle_Retour'),";
    					++$i;
    				}
    				$item_retour=substr($item_retour,0,strlen($item_retour)-1)." ))";
    				$Colis_Allez=$Reponse_Info['Virgin_Id'];
    				$Colis_Retour=$Reponse_Info['Virgin_Com1'];
     
    				$strReturn="array('numeroColisAller' =>'$Colis_Allez', 'numeroColisRetour' => '$Colis_Retour', 'tableauColisAller' =>$item_allez , 'tableauColisRetour' =>  $item_retour)";
    				eval( "\$strReturn = \"$strReturn\";" );
     
    				return $strReturn;
                        }
    }

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut
    Bonjour,

    Non il ne va pas le reconnaitre, là ton eval fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $strReturn = $strReturn;
    et dans $strReturn c'est une chaine qui est passé en valeur pas un tableau.

    Le eval va te traiter la chaîne de caractère que tu lui mets en paramètre, et là c'est juste $strReturn et non la chaine contenu dans le $strReturn.

    Essai quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $strReturn = eval($strReturn);
    Car c'est le contenu de $strReturn qui doit être eval et non la variable elle-même.

    GoT

  5. #5
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return eval($strReturn);
    Devrait marcher aussi.

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta rapide réponse, mais je suis désolé ça ne marche pas.

    Rien n'est renvoyé par le return si je le fait de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $strReturn="array('numeroColisAller' =>'$Colis_Allez', 'numeroColisRetour' => '$Colis_Retour', 'tableauColisAller' =>$item_allez , 'tableauColisRetour' =>  $item_retour)";
    				$strReturn = eval($strReturn);
     
    				return $strReturn;
    Avec la version précédente, c'est vrai il me renvoyait tj la string, mais la chaîne n'était pas vide.

  7. #7
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    eval("\$strReturn=\"$strReturn\";");
    return $strReturn;
    voila ce qui fonctionnera. Pardon.

  8. #8
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Pourquoi tu fais pas ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $strReturn= array('numeroColisAller' =>$Colis_Allez, 'numeroColisRetour' => $Colis_Retour, 'tableauColisAller' =>$item_allez , 'tableauColisRetour' =>  $item_retour);

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Maxoo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    eval("\$strReturn=\"$strReturn\";");
    return $strReturn;
    voila ce qui fonctionnera. Pardon.
    Le problème, c'est que cela me renvoi une chaine string et non la déclaration de mon tableau.

    Citation Envoyé par Maxoo Voir le message
    Pourquoi tu fais pas ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $strReturn= array('numeroColisAller' =>$Colis_Allez, 'numeroColisRetour' => $Colis_Retour, 'tableauColisAller' =>$item_allez , 'tableauColisRetour' =>  $item_retour);

    Parce que je commence à créer mon tableau plus haut dans une boucle et du coup je le passe dans une variable en string.
    Ce que je souhaiterai, c'est recoler tous les morceaux dans mon return et le renvoyer, mais pas sous la forme d'un string.

  10. #10
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    $strReturn="array('toto');";
    echo $strReturn;
     
    eval('$strReturn = '.$strReturn);
    print_r($strReturn);
     
    ?>
    Ce code marche.

    Je viens de tester.

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    En effet ça marche !

    Merci merci beaucoup

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

Discussions similaires

  1. Faire un echo dans une table
    Par voyageurdumonde dans le forum Langage
    Réponses: 2
    Dernier message: 12/10/2010, 14h57
  2. Réponses: 4
    Dernier message: 03/12/2009, 14h42
  3. Faire un host echo dans un fichier en sql sous oracle
    Par NouWaT dans le forum Sql*Plus
    Réponses: 2
    Dernier message: 04/06/2007, 15h32
  4. [PHP-JS] faire un echo dans une action
    Par killer_instinct dans le forum Langage
    Réponses: 7
    Dernier message: 31/03/2007, 14h47
  5. Réponses: 1
    Dernier message: 25/04/2006, 01h00

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