[php]récuperer le premier caractére de $ ,etc [Résolu/Fermé]

Signaler
Messages postés
302
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
22 novembre 2007
-
 hermann -
bonsoir,

j'ai un petit probleme,
j'ai était voire sur les cours de ccm, & autre & je n'y arrive pas

esplication:

j'ai une variable $n qui contient le début d'un nom, et je voudrais récuperer ( ds cette même variable ) la premiére lettre

mais .... ça marche pas ... sniff

voila ske j'ai fait :

$n = split('%',$n,2);
$n = $n[1];

si vous pouvez me dire ce qui va pas, ...
merci !!

5 réponses

Messages postés
13069
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
12 juillet 2020
414
lu blbg

pour recuperer le prmier caractere d'une chaine tu as deux solutions...

1- $n=substr($n,0,1);
substr(string,start,length)
recupee la sous-chaine debutant a start et de longueur length
nb: le premier caractére d'une chaine se trouve a la position 0

2- $n = $n{0}; recupere le caractere a la position entre les accolades.
celle là je viens tout juste de la découvrire :)

@++

Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
47
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 59666 internautes nous ont dit merci ce mois-ci

Messages postés
302
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
22 novembre 2007
10
re bonsoir .....
personne ne veux me répondre ??

j'ai regarder sur les sujets parlant d'espressions regulieres et ...... je n'ai rien trouver ....

j'ai juste besoin d'un truc pour :
récuperer dans une variable que la premiére lettre d'une variable ( string )
et aussi une autre fonction/procedure pour :
récuperer toutes les lettres d'une variable ( String ) sauf la premiére ...

vous pouvez m'aider ??? merci ... d'avance !!!!
car là .... franchement ..... je rame ... ( comme pas mal de débutant apparement !! )
merci .....
Messages postés
302
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
22 novembre 2007
10
merci asevere !!!! ça marche super !!!!!!

mais j'ai un autre pb !!

je fait un projet ou il y a une recherche par nom, on peu le faire soit en clicant sur une lettre ... ( ça initialise $n avec cette lettre ) soit en entrant ds une zone de texte plusieure lettre ( permet une selection plus fine , .. )
mais aprés je veux récuperer la premiére lettre pour pouvoir visionnée les lettre précedente & suivante ...
mais là ..... qd je passe par la saisie, ( avec les affichage, je voie que la récupération de la premiére lettre à bien marché ) mais ça ne m'affiche que lettre suivante ...
pourkoi ??
alor que si je clic sur une lettre, ça me met bien " lettre precedente, & suivcante "
voila la source ...

echo ' <p align=\'center\' valign=\'middle\'>' .$n;
$n= substr($n,0,1);
echo ' '.$n.' ' .(chr(ord($n)));
if ( $n<Z) echo' <a href=\'etudiant.php3?n='.(chr(ord($n)-1)).' \'> lettre précédente </a>';
if ( $n>A) echo' <a href=\'etudiant.php3?n='.(chr(ord($n)+1)).'\'> lettre suivante </a>';

par ex si je rentre " bl " , ça m'affiche :
bl b b lettre suivante

vous savez pourquoi ça fait ça ??
merci ...
Messages postés
13069
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
12 juillet 2020
414
Bon je repondu a ton autremessage avec deux truc qui marche bien si tu veux...

et pour la le script fait exactement ce que tu lui demande ;)

-echo ' <p align=\'center\' valign=\'middle\'>' .$n;
$n contient "bl" donc affichage = "bl"
-$n= substr($n,0,1); // $n="b " ici
-echo ' '.$n.' ' .(chr(ord($n)));
//affichage $n (b)
//puis chr(ord($n))=$n="b"
donc au final "bl b b"

ensuite comme tu teste sur des caractéres ils faut le delimiteur '
donc $n<'Z' et $n>'A' pour etre exact
comme php est trés souple cela ne le derange pas trop... cependant
si la valeur de 'B' est 66 celle de 'b' est 98 donc 'b' est superieur a 'A' mais 'b' n'est pas inferieur a 'Z' (90)

utilise la fonction strtoupper pour tout passer en majuscule au debut de ton script...

$n=strtoupper($n);
... //ton script //...

et ca marchera...

bonne soirée
voila le pb


Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
Messages postés
302
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
22 novembre 2007
10
vous aurez remarquez qu'il y a eu un pb de copié/collé :

if ( $n>A) echo' ... lettre précédente </a>';
if ( $n<Z) echo' ... lettre suivante </a>';

mais j'ai retesté .... et ça me fait toujours pareil ... ça m'affiche que lettre précédente !!

bonne nuit, je vais enfin aller faire dodo !!