Concaténer plusieurs variables dans une seule avec séparateur?

Concaténer plusieurs variables dans une seule avec séparateur? - PHP - Programmation

Marsh Posté le 07-01-2010 à 16:04:35    

Salut
 
J'ai plusieurs variables
 
$var1 =  
$var2 = POMME
$var3 =  
$var4 = RADIS
$var5 = ORANGE
 
$var1 et $var3 sont vides.
 
Comment faire pour créer une variable $vart qui contiendrait "POMME;RADIS;ORANGE" (séparateur ;)
 
PS : vous l'avez compris, je débute...

Reply

Marsh Posté le 07-01-2010 à 16:04:35   

Reply

Marsh Posté le 07-01-2010 à 16:10:20    

tu peux regarder l'existence avec "isset", donc si ta variable existe, tu ajoute ça a $vart, sinon tu passe a la suivante... quelque chose du genre ^^

Reply

Marsh Posté le 07-01-2010 à 16:19:32    

Merci, mais pour le séparateur?
 
ça pas me faire un truc du genre $vart qui contiendrait ";POMME;;RADIS;ORANGE"

Reply

Marsh Posté le 07-01-2010 à 16:26:07    

if(isset($var1)){
$vart=$var1.";";
}
pour les 4 premiers... et apres
 
 
if(isset($var5)){
$vart=$var5;
}
 
 
C'est barbare et un peu a l'arrache je te l'avoue :x


Message édité par Crawdge le 07-01-2010 à 16:26:15
Reply

Marsh Posté le 07-01-2010 à 16:31:18    

mais avec isset, si la variable est définie mais vide, que se passe-t-il?
 
Si je suis ta proposition, à chaque passage, vart est écrasée, non?

Reply

Marsh Posté le 07-01-2010 à 16:35:08    

oulalala

 
Code :
  1. $var1 =  '';
  2. $var2 = 'POMME';
  3. $var3 = '' ;
  4. $var4 = 'RADIS';
  5. $var5 = 'ORANGE';
  6.     
  7. $list = array();
  8.     
  9. for($i = 1; $i <= 5; $i++)
  10. {
  11.    $var =  ${'var' . $i};
  12.    if(!empty($var))
  13.    {
  14.        $list[] = $var;
  15.    }        
  16. }
  17.     
  18. echo implode(';', $list);


Message édité par stealth35 le 07-01-2010 à 16:35:41
Reply

Marsh Posté le 07-01-2010 à 16:46:05    

Merci beaucoup! ça marche! :-)

Reply

Marsh Posté le 07-01-2010 à 16:49:42    

Autre question, comment feriez vous avec des variables nommées différement?
 
Exemple :
 
$varABF =  
$varGHD = POMME
$varPOT =  
$varRUJ = RADIS
$varEZR = ORANGE

Reply

Marsh Posté le 07-01-2010 à 16:56:45    

http://www.google.fr/#hl=en&source [...] p+débutant


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 07-01-2010 à 17:09:43    

 

c'est pas trop debutant

 
Code :
  1. $start = get_defined_vars();
  2.     
  3. $varABF = '';
  4. $varGHD = 'POMME';
  5. $varPOT = '' ;
  6. $varRUJ = 'RADIS';
  7. $varEZR = 'ORANGE';
  8.     
  9. $end     = get_defined_vars();
  10. $data     = array_diff($end, $start);
  11. $list     = array();
  12.     
  13. foreach($data as $entry)
  14. {
  15.    if(!empty($entry))
  16.    {
  17.        $list[] = $entry;
  18.    }
  19. }
  20.     
  21. echo implode(';', $list);

Message cité 1 fois
Message édité par stealth35 le 07-01-2010 à 17:10:49
Reply

Marsh Posté le 07-01-2010 à 17:09:43   

Reply

Marsh Posté le 07-01-2010 à 17:12:21    

Yes! Merci encore!
 
Effectivement, je pense que je vais passer par la case "manuel scolaire" :-)

Reply

Marsh Posté le 07-01-2010 à 17:14:30    

stealth35 a écrit :


c'est pas trop debutant


 
WTF? Concaténer des variables c'est pas débutant?:D


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-01-2010 à 17:15:29    

...et le array_diff sur deux get_defined_vars c'est franchement une solution effrayante.[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-01-2010 à 17:17:13    

skeye a écrit :

...et le array_diff sur deux get_defined_vars c'est franchement une solution effrayante.[:pingouino]


 
Comment ferais tu ?

Reply

Marsh Posté le 07-01-2010 à 17:22:30    

skeye a écrit :

 

WTF? Concaténer des variables c'est pas débutant?:D

 

j'ai pas dis ca, par contre recuperer des noms de variable de ce type oui

skeye a écrit :

 

 ...et le array_diff sur deux get_defined_vars c'est franchement une solution effrayante.[:pingouino]

 

pareil j'aimerai bien voir comme tu ferais, tu critiques beaucoup mais ta rarement des solutions  ;)

Message cité 1 fois
Message édité par stealth35 le 07-01-2010 à 17:23:57
Reply

Marsh Posté le 07-01-2010 à 17:33:42    

stealth35 a écrit :


j'ai pas dis ca, par contre recuperer des noms de variable de ce type oui


 
Encore une idée de programmeur php ça.:o
Récupérer des noms de variables ça n'a pas de sens.
Si tu ne connais pas le nom de tes variables tu as un problème de conception.
 

stealth35 a écrit :


pareil j'aimerai bien voir comme tu ferais, tu critiques beaucoup mais ta rarement des solutions  ;)


 
Son problème se résume à une bête boucle for. Le reste c'est des absurdités 100% php.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-01-2010 à 17:35:50    

skeye a écrit :

 

Encore une idée de programmeur php ça.:o
Récupérer des noms de variables ça n'a pas de sens.
Si tu ne connais pas le nom de tes variables tu as un problème de conception.

 


 
skeye a écrit :

 

Son problème se résume à une bête boucle for. Le reste c'est des absurdités 100% php.

 

tout ca ne me donne toujours pas ta solution  :o   (peu importe son type de conception, même si je suis entièrement d'accord avec toi)

Message cité 1 fois
Message édité par stealth35 le 07-01-2010 à 17:36:55
Reply

Marsh Posté le 07-01-2010 à 17:40:24    

stealth35 a écrit :


tout ca ne me donne toujours pas ta solution  :o


Tu comptes vraiment me faire écrire 15 lignes qui se résument à du if(!empty($toto)){$str .= $toto .';'}, qui a déjà été posté? ça a un intérêt?
La seule question intéressante dans cette histoire c'est de savoir pourquoi il a besoin de faire ça, ce qu'il a fait de travers pour en avoir besoin, et comment il peut l'éviter.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-01-2010 à 17:45:49    

skeye a écrit :


La seule question intéressante dans cette histoire c'est de savoir pourquoi il a besoin de faire ça, ce qu'il a fait de travers pour en avoir besoin, et comment il peut l'éviter.


 
ah bah voila on y arrive, faut vraiment allé chercher profond pour te faire dire des trucs utiles. Tu peux pas arriver et dire simplement ca.

Reply

Marsh Posté le 07-01-2010 à 17:52:25    

stealth35 a écrit :

ah bah voila on y arrive, faut vraiment allé chercher profond pour te faire dire des trucs utiles. Tu peux pas arriver et dire simplement ca.

 

Non, je préfère te faire chier en te faisant remarquer que ta réponse techniquement correcte est complètement inutile et ne va pas vraiment aider le pauvre débutant qui pose la question.[:dawak]

Message cité 2 fois
Message édité par skeye le 07-01-2010 à 17:52:54

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-01-2010 à 17:53:48    

C'est clair qu'il y a un problème dans le nommage de mes variables.
 
Celà étant dit, merci tout de même à stealth35 de m'avoir aider à piger :-)

Reply

Marsh Posté le 07-01-2010 à 17:56:13    

skeye a écrit :


 
Non, je préfère te faire chier en te faisant remarquer que ta réponse techniquement correcte est complètement inutile et ne va pas vraiment aider le pauvre débutant qui pose la question.[:dawak]


 
"complètement inutile", c'est faux :non:
 
Il m'a bien aidé, et j'ai bien pigé que mes variables étaient mal nommées.

Reply

Marsh Posté le 07-01-2010 à 18:12:54    

skeye a écrit :


 
Non, je préfère te faire chier en te faisant remarquer que ta réponse techniquement correcte est complètement inutile et ne va pas vraiment aider le pauvre débutant qui pose la question.[:dawak]


 
je sais bien  :kaola:  
 
 :D

Reply

Marsh Posté le 07-01-2010 à 18:34:12    

benka35 a écrit :

 

"complètement inutile", c'est faux :non:

 

Il m'a bien aidé, et j'ai bien pigé que mes variables étaient mal nommées.

 

On peut arriver au même résultat sans pour autant pondre ce genre de code alambiqué, juste en te demandant d'entrée pour quelle raison étrange tu as besoin de faire ça.:D


Message édité par skeye le 07-01-2010 à 18:34:43

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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