.= ça sert à quoi ?!

un_amateur
Invité n'ayant pas de compte PHPfrance

20 déc. 2005, 23:43

Bonjour,

Je débute et y a encore des petits trucs que je saisi pas !

Par exemple dans le code suivant :

Code : Tout sélectionner

<?php function passeLisible($length = 5) { $passe = ""; $consonnes = array("b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "z", "bl", "br", "cl", "cr", "ch", "dr", "fl", "fr", "gl", "gr", "pl", "pr", "qu", "sl", "sr"); $voyelles = array("a", "e", "i", "o", "u", "ae", "ai", "au", "eu", "ia", "io", "iu", "oa", "oi", "ou", "ua", "ue", "ui"); $nbrC = count($consonnes) - 1; $nbrV = count($voyelles) - 1; for ($i = 0; $i < $length; $i++) { $passe .= $consonnes[rand(0, $nbrC)] . $voyelles[rand(0, $nbrV)]; } return substr($passe, 0, $length); } echo "Retenez bien votre mot de passe: <b>" . passeLisible() . "</b>"; ?>
à quoi sert l'expression : .= après $passe
Qu'est ce que ça change par rapport à $passe sans l'expression ?

J'imagine que c'est un truc élémentaire et j'aimerais bien pouvoir l'appliquer dans mes prochains projets...

Merci à vous :)

Mammouth du PHP | 1776 Messages

20 déc. 2005, 23:47

c'est pour la concaténation (tu reprends la variable $passe et tu lui colle une valeur supplémentaire)

exemple:
$passe = "bonjour";
$passe .= " moi!";
echo $passe; // affiche "bonjour moi!"

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

20 déc. 2005, 23:48

SAlut il s'agit d'une concaténation si tu parle bien de " .= ":
$var=" ceci est ";
$var .= "un test"; 
echo $var; // affichera ceci est un test
revient a faire:
$var=" ceci est ";
$var= $var . "un test" //evite de rappeler 2 fois la variable $var avec l'autre version

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

21 déc. 2005, 01:46

Joli simultané de PRoGRaFLaSH et Truc. =D> Il y aura photographie pour les départager sur la ligne d'arrivée. :lol:

Simple petite précision pour un_amateur
.= est un opérateur de concaténation, et non une expression.

Je t'invite à te familiariser avec les opérateurs PHP.
C'est tout simple et très utile. ;)

Mammouth du PHP | 1776 Messages

21 déc. 2005, 01:50

Joli simultané de PRoGRaFLaSH et Truc. =D> Il y aura photographie pour les départager sur la ligne d'arrivée. :lol:

Simple petite précision pour un_amateur
.= est un opérateur de concaténation, et non une expression.

Je t'invite à te familiariser avec les opérateurs PHP.
C'est tout simple et très utile. ;)
Pour le coup, la photographie montre 1 minute d'avance pour mon arrivée par rapport à Truc :lol:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

21 déc. 2005, 01:54

Joli simultané de PRoGRaFLaSH et Truc. =D> Il y aura photographie pour les départager sur la ligne d'arrivée. :lol:
j'ai quand meme perdu :cry:
Pas vraiment besoin de photo finish

l'idée est la meme l'exemple presque le meme aussi on doit avoir les meme liens en favori :lol:

je pense que le message est, du coup, passé 2 fois mieux :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 1776 Messages

21 déc. 2005, 02:39

l'idée est la meme l'exemple presque le meme aussi on doit avoir les meme liens en favori :lol:

je pense que le message est, du coup, passé 2 fois mieux :wink:
Je n'ai aucun lien de ce type en favori (ptetre juste trop lu les forums php et la doc ^^) car cet exemple je l'ai pondu moi-même directos :wink:

Sinon, oui, l'essentiel c'est que le message soit passé et que l'on a pu éclairer ses lumières. Donc même s'il y a 10 réponses, ce sera toujours mieux qu'aucune :wink:

un_amateur
Invité n'ayant pas de compte PHPfrance

21 déc. 2005, 03:11

Lol merci pour ces réponses éclaires et simultanées !

Merci beaucoup pour votre pédagogie, ce forum est véritablement génial... et non j'en fait pas trop !