Bonjour,
Savez-vous comment placer une virgule entre chaque chiffre d'un tableau :
$tab vient d'un foreach.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $tab = '123';
Merci de votre aide.
Bonjour,
Savez-vous comment placer une virgule entre chaque chiffre d'un tableau :
$tab vient d'un foreach.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $tab = '123';
Merci de votre aide.
Bonsoir,
Je pense que tu peux faire çà facilement comme ceci :
Je vais voir si il y a un moyen plus classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $str = '123'; $newstr = ''; foreach($str as $char){ $newstr .= $char.','; } $newstr = substr($newstr, -1); echo $newstr;
par contre, ce que tu montres, $tab, n'est pas un tableau mais une chaine de caractères.
edit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php $str = '123'; $newstr = substr(implode(',', preg_split('//', $str)), 1, -1); echo $newstr;
Merci pour ta réponse
La 1er solution fonctionne mais il reste une virgule à la fin (1,2,3,).
La 2eme solution ne met aucune virgule (123).
En fait ton code est bon, c'est moi qui me suis mal expliqué J'ai voulu gagner du temps mais c'est perdu.
Je m'explique:
Je récupère les valeurs d'une liste à choix multiple dans la variable $choix que je dois convertir en mettant une virgule entre chaque chiffre.
Le code test :
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 <form name="form1" id="form1" method="post" action="<?php $PHP_SELF; ?>"> <table> <tr> <td> <select id="selection" name="selection[]" size="3" multiple> <option value="1">site1</option> <option value="2">site2</option> <option value="3">site3</option> </select> </td> <td> <input type="submit" id="valider" name="valider" value="valider"> <!--<input type="button" name="valider" value="valider" onclick="select_all()">--> </td> </tr> </table> </form> <?php if (isset($_POST['valider'])) $selection = $_POST['selection']; { foreach($selection as $choix) { $str = $choix; $newstr = substr(implode(',', preg_split('//', $str)), 1, -1); echo $newstr; // $x .= $choix.','; // $x = substr($x, -2); //echo $x; } } ?>
Bonjour,
J'ai testé les deux solutions qui fonctionnent chez moi, tu dois faire une erreur lorsque tu les utilisent.
Si il reste une virgule à la fin, tu peux la supprimer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $var = substr($var, -1);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager