A voir également:
- Transformé chaine en array
- Chaine tnt gratuite sur mobile - Guide
- Chaine radio - Télécharger - Médias et Actualité
- Nouvelle chaîne tnt gratuite 2024 - Accueil - TV & Vidéo
- Plus de chaine tv - Guide
- Chaine l'equipe live foot - Accueil - TV & Vidéo
8 réponses
Fallentree
Messages postés
2309
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
209
7 déc. 2011 à 13:48
7 déc. 2011 à 13:48
Tu as quasiment donné toi-même ta réponse...
$var = 'chainealéatoire';
foreach( (array) $var as $element) {
echo $element;
}
// Affichera : chainealéatoire
// Tu peux aussi faire ceci sur une chaîne, comme si c'était un tableau :
echo $var[0]; // Affiche : c
echo $var[1]; // Affiche : h
echo $var[2]; // Affiche : a
echo $var[3]; // Affiche : i
// etc...
++
$var = 'chainealéatoire';
foreach( (array) $var as $element) {
echo $element;
}
// Affichera : chainealéatoire
// Tu peux aussi faire ceci sur une chaîne, comme si c'était un tableau :
echo $var[0]; // Affiche : c
echo $var[1]; // Affiche : h
echo $var[2]; // Affiche : a
echo $var[3]; // Affiche : i
// etc...
++
Ça ne marchera pas. En fait, (array)$var transforme la chaîne en un tableau comportant un seul élément contenant la chaîne. Pour le voir, il suffit de remplacer
par
L'affichage donnera
Je pense que la seule solution consiste à faire une boucle avec indice:
SI on veut vraiment obtenir un tableau pour usage ultérieur:
C'est étonnant que PHP4 ne fournisse pas de fonction pour réaliser cela (ça existe en Java par exemple, mais en Java, String est une classe). Comme le dit Zep3k!GnO, en PHP5 il y str_split().
echo $element;
par
echo $element."-";
L'affichage donnera
chainealéatoire-
Je pense que la seule solution consiste à faire une boucle avec indice:
for($i=0;$i<strlen($var);$i++){ echo $var[$i].'-'; }
SI on veut vraiment obtenir un tableau pour usage ultérieur:
$tabChar = array(); for($i=0;$i<strlen($var);$i++){ $tabChar[] = $var[$i]; }
C'est étonnant que PHP4 ne fournisse pas de fonction pour réaliser cela (ça existe en Java par exemple, mais en Java, String est une classe). Comme le dit Zep3k!GnO, en PHP5 il y str_split().
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
30 janv. 2006 à 10:29
30 janv. 2006 à 10:29
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
31 janv. 2006 à 09:36
31 janv. 2006 à 09:36
Je pense que passé a Php est du coup une bonne chose, ça te forcera à rester sur les nouvelles versions du langage...
Sinon, je ne vois pas trop avec les autres fonction, je ne sais pas trop pour Php4, p'tet ereg_split, d'après ce que j'ai vu ca doit fonctionner sous Php4, mais reste à trouvé le pattern correct en expression régulière...
Bon Courage.
Sinon, je ne vois pas trop avec les autres fonction, je ne sais pas trop pour Php4, p'tet ereg_split, d'après ce que j'ai vu ca doit fonctionner sous Php4, mais reste à trouvé le pattern correct en expression régulière...
Bon Courage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dedale82
Messages postés
403
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
28 octobre 2008
282
31 janv. 2006 à 10:06
31 janv. 2006 à 10:06
Salut,
essaye la fonction explode :
http://fr2.php.net/manual/fr/function.explode.php
Bonne journée.
essaye la fonction explode :
http://fr2.php.net/manual/fr/function.explode.php
Bonne journée.
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
31 janv. 2006 à 11:26
31 janv. 2006 à 11:26
le porblème avec explode c'est qu'il a dit pour transformer une chaine de caractères aléatoires.. après p'tet que c'est moi qui ai mal interprété ce qu'il veut...
Non Zep3k!GnO, tu as bien compris ce que je voulais.
C'est vrai dedale82, j'aurais peut-être pu essayer avec un explode, mais pour ça il aurait fallu que j'insère un caractère spécifique entre chaque caractères de ma chaine pour pouvoir faire cet explode, ce qui me semble un peu délicat comme méthode.
J'ai donc finalement installé php5.
Merci ;-)
C'est vrai dedale82, j'aurais peut-être pu essayer avec un explode, mais pour ça il aurait fallu que j'insère un caractère spécifique entre chaque caractères de ma chaine pour pouvoir faire cet explode, ce qui me semble un peu délicat comme méthode.
J'ai donc finalement installé php5.
Merci ;-)
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
31 janv. 2006 à 14:10
31 janv. 2006 à 14:10
COol :D
Bon Courage.
Tu vas voir PHP5 c'est bin :))
Bon Courage.
Tu vas voir PHP5 c'est bin :))
Moi j'ai une solution (dans les deux sens):
/* * Transforme une variable en tableau * @param variable a trasformer * @return tableau */ function toTable($var) { $caractere = strlen($var); $i = 0; while($i != $caractere) { $table[$i] = substr($var,$i,1); $i++; } return $table; } /* * Transforme un tableau en variable * @param tableau a transformer * @return variable */ function toVar($table) { $size = count($table); for($i = 0; $i<$size; $i++) { $var .= $table[$i]; } return $var; }
Une solution basique qui se porpose :
function get_chars($str){ $chars = array(); for($i=0; $i<strlen($str); $i++) $chars[] = substr($str, $i, 1); return $chars; }
creadiff
Messages postés
445
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
3 novembre 2011
57
7 avril 2011 à 00:37
7 avril 2011 à 00:37
Ce n'est pas obligatoire, $chars[] = ... place la valeur à la suite du dernier élément inséré.
https://www.php.net/manual/fr/language.types.array.php
https://www.php.net/manual/fr/language.types.array.php
$var = "abcdefghijklmnopqrstuvwxyz"; $i =0; while($var[$i]) { $array[] = $var[$i]; $i++; } echo '<pre>'.print_r($array).'</pre>';
Ce qui affichera :
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f [6] => g [7] => h [8] => i [9] => j [10] => k [11] => l [12] => m [13] => n [14] => o [15] => p [16] => q [17] => r [18] => s [19] => t [20] => u [21] => v [22] => w [23] => x [24] => y [25] => z )
Je pense que c'est ce que tu cherchais ^^