Concatener la meme variable a 2 variables ?

Concatener la meme variable a 2 variables ? - PHP - Programmation

Marsh Posté le 13-01-2009 à 18:27:59    

Salut,  :)  
 
Petite question qui ne restera pas longtemps sans réponse certainement.  :p  
 
Peut-on concaténer la même variable a 2 variables différentes en 1 seule ligne.
 
Exemple :  

Code :
  1. $hello = "Bonjour ";
  2. $byebye = "Au revoir ";
  3. $prenom = "Julien";


Faire en sorte que la variable $hello vaille = "Bonjour Julien",
Et que la variable $byebye vaille "Au revoir Julien".
 
Sans avoir a marquer :  

Code :
  1. $hello .= $prenom;
  2. $byebye .= $prenom;


Un truc du genre :

Code :
  1. $hello, $byebye .= $prenom;


 
Il est évident que ce script est une démo pour expliquer ce que je veux faire, mais avec un script un peu plus complexe  :sweat:  
 
Merci pour vos éclairages  :jap:  
 

Reply

Marsh Posté le 13-01-2009 à 18:27:59   

Reply

Marsh Posté le 13-01-2009 à 21:24:18    

Les secondes, les minutes, les heures passent. Toujours pas de réponse.
Il semble que le problème soit plus hardu que prévu. Pourtant, il y a au moins la solution dans le spoiler ci-dessous, même si certains grincheux la contesteront.

Spoiler :

$hello .= $prenom;$byebye .= $prenom;
 
Cela ne fait qu'une seule ligne.
En PHP, il est possible de mettre plusieurs instructions sur la même ligne.

Reply

Marsh Posté le 13-01-2009 à 22:16:29    

C'est une blague ? :o  

Code :
  1. <?php
  2.  
  3. $vars = array("hello" => "Bonjour ", "byebye" => "Au revoir ", "prenom" => "Julien" );
  4. extract(array_map(create_function('$a', 'return $a . ' . $vars["prenom"] . ';'), $vars));
  5. echo $hello, "\n", $byebye;
  6.  
  7. ?>


Spoiler :

:lol:


 
Regarde du côté de list() :
Plus généralement si ça te plait d'assigner des variables comme ça (style python) :
a, b, c = 1, 2, 3
tu peux en php faire ça comme ça
list($a, $b, $c) = array(1, 2, 3);
ça ne t'apportera pas grand chose  :whistle:


Message édité par Flaie le 13-01-2009 à 22:16:54

---------------
Always wear a camera!
Reply

Marsh Posté le 14-01-2009 à 00:25:08    

billgatesanonym a écrit :

Les secondes, les minutes, les heures passent. Toujours pas de réponse.
Il semble que le problème soit plus hardu que prévu. Pourtant, il y a au moins la solution dans le spoiler ci-dessous, même si certains grincheux la contesteront.

Spoiler :

$hello .= $prenom;$byebye .= $prenom;
 
Cela ne fait qu'une seule ligne.
En PHP, il est possible de mettre plusieurs instructions sur la même ligne.



 
 
Vous êtes très très bon, :D  
vous m'épattez :-P  :pt1cable:  
 
Surtout le spoiler qui est assez énorme  :bounce:  
 
J'attends tout de même encore une ou deux réponses avant de mettre résolu  :na:  
 
Mais la soluce de Flaie pourrait me convenir. :)
 
Alors merci  :hello:  

Reply

Marsh Posté le 14-01-2009 à 09:21:38    

Quel est l'interêt de vouloir faire ça [:pingouino]
 
Quel est le problème de :

Code :
  1. $hello .= $prenom;
  2. $byebye .= $prenom;


[:petrus dei]

Reply

Marsh Posté le 14-01-2009 à 14:47:40    

FlorentG a écrit :

Quel est l'interêt de vouloir faire ça [:pingouino]
 
Quel est le problème de :

Code :
  1. $hello .= $prenom;
  2. $byebye .= $prenom;


[:petrus dei]


 
J'ai pas demandé si il y avait un intérêt de le faire, j'ai demandé si c'était possible. :o  
Car j'en ai besoin dans une application qui faire autre chose que de dire Bonjour Julien et Au revoir Julien..
 
Pour répondre tout de même à ta question. Un intérêt non négligeable serait, dans le cas de code un peu plus lourd que ca, d'éviter ce genre de syntaxe :

Code :
  1. $abc = "xxx";
  2. $def = "aa";
  3. $gih = "bb";
  4. $jkl = "zz";
  5. $mno = 123;
  6. $pqr = $test."xx";
  7. $conc = "lalala";
  8. $abc .= $conc;
  9. $def .= $conc;
  10. $gih .= $conc;
  11. $jkl .= $conc;
  12. $mno .= $conc;
  13. $pqr .= $conc;


 
D'ou ma réflexion de dire qu'un syntaxe comme celle-ci :

Code :
  1. $abc, $def, $ghi, $jkl, $mno, $pqr .= $conc;


Pourrait apporter quelque chose dans ce cas de figure.
 
Menfin je préfère tout de même la réponse de Flaie. :whistle:  
 

Reply

Marsh Posté le 14-01-2009 à 14:51:14    

A ce moment là faut utiliser un tableau.
Tu peux ensuite boucler facilement dessus pour concaténer ce que tu veux à chacun de ses éléments.
Non ?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 14-01-2009 à 14:55:29    

dwogsi a écrit :

A ce moment là faut utiliser un tableau.
Tu peux ensuite boucler facilement dessus pour concaténer ce que tu veux à chacun de ses éléments.
Non ?


 
Je pense en effet que l'utilisation du array soit inévitable.  :sweat:  
Merci à toi en tout cas.  :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed