Trouver la premiere le premier caractere d'une variable

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Trouver la premiere le premier caractere d'une variable

par castelli » 16 janv. 2007, 19:06

deja merci pour toute ces reponses,
j'ais tester avec substr() et sa fonctionne bien
exactement ce que j'avais besoin

merci a tous

par Ajoloca » 16 janv. 2007, 18:35

Re,
Je vais essayer de retrouver l'article ou j'ai lu ça.

par Hubert Roksor » 16 janv. 2007, 18:32

[...] PHP 6 saura nativement interpréter l'UTF-8. Ce ne sera pas le cas des tableaux.
Ça ne correspond pas à ce que je sais de PHP 6. À ma connaissance, il n'y a pas de différence entre $var[n] et substr($var, n, 1) que ce soit en PHP 4/5/6 avec unicode_semantics on ou off.

par Hubert Roksor » 16 janv. 2007, 18:29

C'est juste, UTF-8 ou pas, $var[0] et substr($var, 0, 1) renverront la même chose. C'est à dire que sous PHP6 aucun problème (pour peu d'avoir activé "unicode_semantics"), mais sous PHP3/4/5 vous n'êtes pas sûr que cela fonctionne en UTF-8. À noter que le caractère # fait partie d'ASCII et grâce aux propriétés d'UTF-8 il est identique en ASCII, ISO-8859-1 ou UTF-8. En clair, peu importe la version de PHP, peu importe le reste de la chaîne, peu importe que la chaîne soit en ISO-8859-1 ou UTF-8, il sera toujours possible de vérifier qu'elle commence bien par # en utilisant $var[0].

Quant à la "dépréciation" dont on parle, c'est l'utilisation des accolades {} plutôt que des crochets []. N'utilisez que les crochets.

par Ajoloca » 16 janv. 2007, 18:25

Il me semble avoir vu passer un post de Hubert décrivant les inconvénients de compatibilité du codage des chaines en utf-8, et à priori le substr() fonctionnerait pas plus :?
Ce que j'ai voulu dire par là, c'est que PHP 6 saura nativement interpréter l'UTF-8. Ce ne sera pas le cas des tableaux.

Donc substr() sera adapté, et pas besoin de tout recoder.

De plus il existe déjà des solutions (une API) qui gèrent l'UTF-8 en PHP, je ne suis pas sur du nom, mais je crois quelle s'appelle "phputf8".

EDIT :

j'ai retrouvé QQ chose

EDIT 2 :

Une recherche :google: avec "phputf8" vous donnera plus d'explications que moi.

par Ryle » 16 janv. 2007, 18:16

Il me semble avoir vu passer un post de Hubert décrivant les inconvénients de compatibilité du codage des chaines en utf-8, et à priori le substr() fonctionnerait pas plus :?

par Ajoloca » 16 janv. 2007, 18:09

Re,

Vous êtes surs que si vous codez en UTF8 votre "technique" sera toujours d'actualité ???
Moi non.

par Ultim4T0m » 16 janv. 2007, 17:51

Oups oui, j'ai lu trop vite ^^'

Désolé :oops:

par Jules Petibidon » 16 janv. 2007, 17:49

Personnellement, j'utilise egalement le fait qu'une chaine de caractère est un tableau...

et donc :
echo $ma_variable[0]; // Affiche #
Pour cette technique serait depréciée ?
copieur !
non absolument pas... cf mon post précédent ;)

par Ultim4T0m » 16 janv. 2007, 17:48

Personnellement, j'utilise egalement le fait qu'une chaine de caractère est un tableau...

et donc :
echo $ma_variable[0]; // Affiche #
Pour cette technique serait depréciée ?

par Jules Petibidon » 16 janv. 2007, 17:44

hello,

sinon, plus simplement :

$str = 'truc';
echo $str[0];

on peut accéder au contenu d'une chaine comme si c'était un tableau.
parfois ca ammene d'ailleurs des surprises amusantes lorsqu'on se plante dans certaines déclarations ;)

à noter qu'on peut aussi utiliser ceci :

echo $str{0};

mais j'ai cru lire quelque part que c'était "déprécié"

par Ajoloca » 16 janv. 2007, 17:28

Bonjour,

C'est substr()
$ma_variable = '#valeur';
$premier_car = substr($ma_variable, 0, 1);
echo $premier_car; // Affichera #

Trouver la premiere le premier caractere d'une variable

par castelli » 16 janv. 2007, 17:10

Bonjour je voulais savoir comment obtenir le premier caractere d'une variable. (ps: dans mon cas il s'agit de #)
Quel fonction peut on utiliser?

(je suis allez voir du coté de strstr et autre mais sa me donne tout ce qui suit et pas lepremier caractere)

avez vous une idée ?
merci encore