Page 1 sur 1
variable .=
Posté : 14 juil. 2005, 20:09
par HD
Salut
quelle est la difference entre les expressions :
et
merci
Posté : 14 juil. 2005, 20:25
par Rei Itchido
Cela permet , pour des variables contenant des chaines de caractères, de "coller" le contenu.
Ex :
$var = "la ";
$var .= "phrase";
echo $var; affiche "la phrase"
Posté : 14 juil. 2005, 20:27
par Rei Itchido
+=, -=, *= et /= fonctionnent de la même manière, mais pour des données numériques.
Ex :
$var = 2;
$var += 5;
$var vaut 7
Posté : 14 juil. 2005, 20:27
par Cyrano
Attention, .= et non +=
En PHP, le point est un opérateur de concaténation. On va souvent utiliser .= pour construire des chaines en plusieurs étapes en fonction de tel ou tel critère.
Parfois, on commence par mettre une variable avec une chaine vide pour valeur et ensuite avec des boucles ou des structures conditionnelles, on ajoute des morceaux.
Posté : 14 juil. 2005, 21:22
par raptor
+= sert quant a lui en javascript, au lieu du .=, mais ce n'est pas ici le sujet

Posté : 15 juil. 2005, 03:19
par Invité
merci a tous
il se trouve que j'ai ce code (qui recupere le titre d'une page) :
<?
$fp = fopen("http://www%2e%63omm%65ntcamarche%2enet","r"); //lecture du fichier
while (!feof($fp)) { //on parcourt toutes les lignes
$page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
$titre = eregi("<title>(.*)</title>",$page,$regs); //on isole le titre
echo $regs[1];
fclose($fp);
?>
le titre est bien recuperé, sauf que l'erreur (varible page non definie) s affiche, alors que c'est le cas à la ligne :
$page .= fgets($fp, 4096);

Posté : 15 juil. 2005, 03:22
par raptor
oui car page n'est pas defini.
fait comme ceci :
Code : Tout sélectionner
while (!feof($fp)) { //on parcourt toutes les lignes
if (!isset($page)) $page="";
$page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
@+
Posté : 15 juil. 2005, 04:30
par Invité
merci bien pour l aide
a+
Posté : 15 juil. 2005, 10:31
par raptor
De rien bonne continuation

Posté : 15 juil. 2005, 10:35
par zeus
En fait, ce qu'il est important de comprendre, c'est que quand tu as un .=, +=, ... , qqchose=
$var .= "char";
il faut lire
$var = $var."char";
Posté : 15 juil. 2005, 15:21
par Tho
oui car page n'est pas defini.
fait comme ceci :
Code : Tout sélectionner
while (!feof($fp)) { //on parcourt toutes les lignes
if (!isset($page)) $page="";
$page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
@+
il vaudrait mieux mettre la condition avant la boucle.
Code : Tout sélectionner
if (!isset($page)) $page="";
while (!feof($fp)) { //on parcourt toutes les lignes
$page .= fgets($fp, 4096); // lecture du contenu de la ligne
}