Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1562 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1955856
benka35
Posté le 07-01-2010 à 16:04:35  profilanswer
 

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...

mood
Publicité
Posté le 07-01-2010 à 16:04:35  profilanswer
 

n°1955859
Crawdge
Posté le 07-01-2010 à 16:10:20  profilanswer
 

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 ^^

n°1955868
benka35
Posté le 07-01-2010 à 16:19:32  profilanswer
 

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

n°1955872
Crawdge
Posté le 07-01-2010 à 16:26:07  profilanswer
 

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
n°1955875
benka35
Posté le 07-01-2010 à 16:31:18  profilanswer
 

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?

n°1955876
stealth35
Posté le 07-01-2010 à 16:35:08  profilanswer
 

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
n°1955879
benka35
Posté le 07-01-2010 à 16:46:05  profilanswer
 

Merci beaucoup! ça marche! :-)

n°1955881
benka35
Posté le 07-01-2010 à 16:49:42  profilanswer
 

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

n°1955882
drasche
Posté le 07-01-2010 à 16:56:45  profilanswer
 

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)
n°1955889
stealth35
Posté le 07-01-2010 à 17:09:43  profilanswer
 

 

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
mood
Publicité
Posté le 07-01-2010 à 17:09:43  profilanswer
 

n°1955891
benka35
Posté le 07-01-2010 à 17:12:21  profilanswer
 

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

n°1955893
skeye
Posté le 07-01-2010 à 17:14:30  profilanswer
 

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 -
n°1955894
skeye
Posté le 07-01-2010 à 17:15:29  profilanswer
 

...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 -
n°1955896
benka35
Posté le 07-01-2010 à 17:17:13  profilanswer
 

skeye a écrit :

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


 
Comment ferais tu ?

n°1955898
stealth35
Posté le 07-01-2010 à 17:22:30  profilanswer
 

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
n°1955903
skeye
Posté le 07-01-2010 à 17:33:42  profilanswer
 

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 -
n°1955904
stealth35
Posté le 07-01-2010 à 17:35:50  profilanswer
 

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
n°1955906
skeye
Posté le 07-01-2010 à 17:40:24  profilanswer
 

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 -
n°1955908
stealth35
Posté le 07-01-2010 à 17:45:49  profilanswer
 

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.

n°1955911
skeye
Posté le 07-01-2010 à 17:52:25  profilanswer
 

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 -
n°1955913
benka35
Posté le 07-01-2010 à 17:53:48  profilanswer
 

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 :-)

n°1955917
benka35
Posté le 07-01-2010 à 17:56:13  profilanswer
 

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.

n°1955919
stealth35
Posté le 07-01-2010 à 18:12:54  profilanswer
 

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

n°1955927
skeye
Posté le 07-01-2010 à 18:34:12  profilanswer
 

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 -
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

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

 

Sujets relatifs
Choisir entre une liste de variables ou un tableau[VBA] Boucle sur variables
sql-php Concaténation de variables, puis ré-utilisation séparéeBesoin d'aide : recupérer des variables d'une page à l'autre
[PHP/MYSQL] Impossible de faire plusieurs updateremplissage de plusieurs fichiers XML depuis un fichier XLS
BOOST_PP : concatener un caractère spécialExécution de plusieurs .sql dans un .bat
[Résolu] Exécution de plusieurs SQL dans un .batPOO : définir la bonne classe suivant des variables
Plus de sujets relatifs à : Concaténer plusieurs variables dans une seule avec séparateur?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR