[php] convertion d'une chaine de caractere
Résolu/Fermé
A voir également:
- [php] convertion d'une chaine de caractere
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
14 réponses
nauno
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60
13 juin 2005 à 17:39
13 juin 2005 à 17:39
Le transtypage
Le transtypage désigne l'action de convertir un type de données en un autre. Ici, il peut servir en plus à définir explicitement le type d'une donnée. La façon d'opérer est exactement la même qu'en C:
$UnEntier = (int) "4320Pastèque";
Ici, au lieu de créer une chaine, PHP va, grâce au "(int)", créer un entier qui aura pour valeur 4320.
Voici les opérateurs de trantypage du PHP:
(int), (integer): Conversion en entier
(real), (double), (float): Conversion en nombre décimal
(string): Conversion en chaine
(array): Conversion en tableau
(object): Conversion en objet
Le PHP propose des fonctions qui permettent de vérifier le type d'une variable: is_int(), is_float(), is_double(), is_array(), is_string(), is_object(), etc...
j'ai trouver sur http://www.mangue.org/e107_plugins/cours/cours.php?id=php&cid=cours2.html
Le transtypage désigne l'action de convertir un type de données en un autre. Ici, il peut servir en plus à définir explicitement le type d'une donnée. La façon d'opérer est exactement la même qu'en C:
$UnEntier = (int) "4320Pastèque";
Ici, au lieu de créer une chaine, PHP va, grâce au "(int)", créer un entier qui aura pour valeur 4320.
Voici les opérateurs de trantypage du PHP:
(int), (integer): Conversion en entier
(real), (double), (float): Conversion en nombre décimal
(string): Conversion en chaine
(array): Conversion en tableau
(object): Conversion en objet
Le PHP propose des fonctions qui permettent de vérifier le type d'une variable: is_int(), is_float(), is_double(), is_array(), is_string(), is_object(), etc...
j'ai trouver sur http://www.mangue.org/e107_plugins/cours/cours.php?id=php&cid=cours2.html
nauno
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60
13 juin 2005 à 16:37
13 juin 2005 à 16:37
en 30s de reflexion je dirai kil fodrai s'amuser avec les codes ASCII et un fichier
mais j'accorde ke ya peut-etre meme certainement plus simple!!!
mais j'accorde ke ya peut-etre meme certainement plus simple!!!
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
13 juin 2005 à 16:45
13 juin 2005 à 16:45
Euh, j'ai du mal à comprendre.
Tu pourrais nous mettre un exemple?
Tu pourrais nous mettre un exemple?
nauno
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60
13 juin 2005 à 16:52
13 juin 2005 à 16:52
kom je disais c'était en 30s de réflexion après 5min j'en pas la moindre idée et le coup du code ASCII je le sens pas du tout
ca m'apprendra a pas parler trop vite
ca m'apprendra a pas parler trop vite
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
13 juin 2005 à 16:57
13 juin 2005 à 16:57
Non non je crois que tu peux transformer un caractère en son code ascii en php. En fait je posais ma question à Nico :-)
Mais je suppose qu'il veut transformer une chaine de caractère, composée de chiffres, en valeur numerique...M'enfin justement c'est ça que j'ai pas bien compris....
Mais je suppose qu'il veut transformer une chaine de caractère, composée de chiffres, en valeur numerique...M'enfin justement c'est ça que j'ai pas bien compris....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour etre plus precis je fait en fete une requete sur le mois:
$req="select mois from planning
group by mois
order by mois";
Le probleme ici c'est que le createur de la base de donnée access a entré les mois comme valeur "text".
J'obtient donc les mois ordonnés ainsi:
1 ,10 , 11, 12, 2, 3, 4, 5, 6, 7, 8, 9
N'ayant pas le droit de modifié la base access je pense q'ui faudrait convertir le format de 'mois' dans la requete.
En esperant avoir été plus clair, merci d'avance
$req="select mois from planning
group by mois
order by mois";
Le probleme ici c'est que le createur de la base de donnée access a entré les mois comme valeur "text".
J'obtient donc les mois ordonnés ainsi:
1 ,10 , 11, 12, 2, 3, 4, 5, 6, 7, 8, 9
N'ayant pas le droit de modifié la base access je pense q'ui faudrait convertir le format de 'mois' dans la requete.
En esperant avoir été plus clair, merci d'avance
nauno
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60
13 juin 2005 à 17:02
13 juin 2005 à 17:02
dans ce cas essaye
pluto ke
c'est sensé faire un tri alphanumérique essaye et tu verra bien si ca marche
heu pour le coup du code ASCII oui on peut mais t'alucine le bordel ke c'est
ORDER BY mois ASC
pluto ke
order by mois";
c'est sensé faire un tri alphanumérique essaye et tu verra bien si ca marche
heu pour le coup du code ASCII oui on peut mais t'alucine le bordel ke c'est
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
13 juin 2005 à 17:06
13 juin 2005 à 17:06
heu pour le coup du code ASCII oui on peut mais t'alucine le bordel ke c'est
Heu bah non... :-)
http://fr2.php.net/manual/fr/function.ord.php
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
13 juin 2005 à 17:02
13 juin 2005 à 17:02
Mais il sera stocké comme etant un "text" de toute façon.
Sauf erreur de ma part, je ne pense pas que çe soit fiable.
Ceci dis tu peux organiser tes valeurs après la requete...(au niveau Php)...
Sauf erreur de ma part, je ne pense pas que çe soit fiable.
Ceci dis tu peux organiser tes valeurs après la requete...(au niveau Php)...
nauno
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60
13 juin 2005 à 17:06
13 juin 2005 à 17:06
oui sa reste du txt mais dans tout les cas c'est pareil ca ne l'empeche pas de faire des opérations dessus
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
13 juin 2005 à 17:09
13 juin 2005 à 17:09
Voui... Chais pas faut voir, je m trompe peut êtr mais je pense que ce sera traité comme des chaines.
D'où le classement bizzare qui resulte de sa requête.
D'où le classement bizzare qui resulte de sa requête.
nauno
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
13 juin 2005 à 17:11
13 juin 2005 à 17:11
le mieux c'est encore d'attendre ce ke le mr en pense
Tout d'abord merci de toute vos reponses.
Le 'order by asc' reste cependant inéficace...
Quand au traitement dans la page j'y avait penser mais il risque de rendre le reste du code encore plus complexe sachant que j'ai deja eu pas mal de difficulté :/
Le 'order by asc' reste cependant inéficace...
Quand au traitement dans la page j'y avait penser mais il risque de rendre le reste du code encore plus complexe sachant que j'ai deja eu pas mal de difficulté :/
nauno
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60
13 juin 2005 à 17:19
13 juin 2005 à 17:19
mais au juste tu veux faire koi???
-les ordonner dans l'ordre numerique
-les transformer en nombre pour pouvoir faire sais pas koi!
-les ordonner dans l'ordre numerique
-les transformer en nombre pour pouvoir faire sais pas koi!
Désolée je pensais avoir été suffisament clair
je souhaite les ordonnés oui
mais cela me parait difficile sans les convertir prealablement au format numerique.
je souhaite les ordonnés oui
mais cela me parait difficile sans les convertir prealablement au format numerique.
nauno
Messages postés
342
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
14 mai 2009
60
13 juin 2005 à 17:40
13 juin 2005 à 17:40
je ne pense pas ke je pourrai fairee mieux bonne chance
L'histoire du transtypage ne marche pas, en tout cas pas comme ca. Tout ce qui se passe ici est que seuls les caracteres etant des chiffres sont considérés. (int) "mot" donne tjs 0. Pour le TO_NUMBET ca doit plutot etre TO_NUMBER non? Mais de toute facon aucun des deux ne marche sous php. Je fais une petite recherche rapide et je vous dis si je trouve qqch.
intval("0123456789abcdefghijklmnopqrstuvwxyz",36)
interprete les chaines de caractere comme des nombres en base 36 (chiffres de 0 a z) et le retourne en base 10. Par contre ca ne marche que pour les chaines contenant des chiffres et les lettres de l'alphabet. Ca ne marche pas en base >36 (et non, on peut pas utiliser les autres caracteres comme ca)
interprete les chaines de caractere comme des nombres en base 36 (chiffres de 0 a z) et le retourne en base 10. Par contre ca ne marche que pour les chaines contenant des chiffres et les lettres de l'alphabet. Ca ne marche pas en base >36 (et non, on peut pas utiliser les autres caracteres comme ca)