par
sadeq » 22 juin 2007, 21:55
sa fonctionne, mais j'ai du mal à comprendre le fonctionnement, avec une varaible pour concaténer on dois.
$i = 'balbla';
$i .= 'balbla';
si sa ne commence pas par une variable normal sa renvoie une erreur.
Puis comment se fait-il que la variable de session n'écrase pas la précédente.
$_SESSION["chemin"].stripslashes($article['article_text']);

Pour les variables normales, il faut effectivement initialiser la variable avant de procéder à des concaténations par .= comme dans l'exemple que t'as donné.
Pour la question de la session et pour le code que tu as affiché:
$_SESSION["chemin"].stripslashes($article['article_text']);
ici la variable de session ne sera pas modifiée car elle est simplement concaténée à la chaîne
stripslashes($article['article_text']) pour être affichée.
Pour que cette forme devienne une modification de la variable de session il faut écrire une affectation par concaténation.
Par exemple:
$mot = "A"; //initialisation => création de la valeur de $mot (nouvelle valeur)
$mot . = "B" //affectation par concaténation => Ajout dans $mot (sauvegarde de l'ancienne valeur)
echo $mot . "C"; //affichage de $mot attaché à la lettre "C" => pas de modification de $mot
Et c'est vrai aussi pour les variables de session.
[quote="x@v"]sa fonctionne, mais j'ai du mal à comprendre le fonctionnement, avec une varaible pour concaténer on dois.
[php]$i = 'balbla';
$i .= 'balbla';[/php]
si sa ne commence pas par une variable normal sa renvoie une erreur.
Puis comment se fait-il que la variable de session n'écrase pas la précédente.
[php]$_SESSION["chemin"].stripslashes($article['article_text']);[/php]
:D[/quote]
Pour les variables normales, il faut effectivement initialiser la variable avant de procéder à des concaténations par .= comme dans l'exemple que t'as donné.
Pour la question de la session et pour le code que tu as affiché:
[php]$_SESSION["chemin"].stripslashes($article['article_text']);[/php]
ici la variable de session ne sera pas modifiée car elle est simplement concaténée à la chaîne [i]stripslashes($article['article_text'])[/i] pour être affichée.
Pour que cette forme devienne une modification de la variable de session il faut écrire une affectation par concaténation.
[b]Par exemple:[/b]
[php]$mot = "A"; //initialisation => création de la valeur de $mot (nouvelle valeur)
$mot . = "B" //affectation par concaténation => Ajout dans $mot (sauvegarde de l'ancienne valeur)
echo $mot . "C"; //affichage de $mot attaché à la lettre "C" => pas de modification de $mot [/php]
Et c'est vrai aussi pour les variables de session.