Bonjour
Je suis en train de travailler avec une chaine de caractères, et je rencontre un problème qui me laisse perplexe.
Selon que cette chaine soit vide ou non, je dois effectuer un certain traitement. Or cette chaine n'apparait jamais comme vide, meme quand elle l'est.
Elle est initialisé à partir d'un fichier formaté de la facon suivante :
var1=valeur1
var2=valeur2
...
la resultat de la lecture est stocké dans un tableau de la facon suivante :
$tab[var1] = valeur1
$tab[var2] = valeur2
...
or, dans mon fichier, sur une ligne j'ai une variable qui ne contient pas de valeur, il n'y a rien après le =.
quand j'affiche $tab[var], cela n'affiche rien, ce qui est normal.
mais quand je fais strlen($tab[var]), j'obtient 7.
empty($tab[var]) retourne faux.
et quand j'affiche caractère par caractere, j'ai des resultats différents selon la methode :
si je fais
j'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $t = $tab[var]; echo $t{0}.'<br>'; echo $t{1}.'<br>'; echo $t{2}.'<br>'; echo $t{3}.'<br>'; echo $t{4}.'<br>';
$t{5} et $t{6} n'affichent rien, alors que strlen m'a pourtant retourné 7
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 < N / A >
et que si je fais
rien ne s'affiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo $t{0}.$t{1}.$t{2}.$t{3};
je ne vois pas d'ou peut venir le problème.
quelqu'un peut il m'aider ?
merci
Partager