Peut-on m'expliquer cette synthaxe svp (sprintf)
le 14/08/2008 à 12:14
rover
$req_adduser = sprintf("INSERT INTO ".DB_PREFIX."users
(groupval, pwd, mail, firstletter, activation)
VALUES
('subscriber', '%s','%s','%s', '%s');",
md5($randpwd), $email, strtolower($email[0]), $randactivation);
Je ne comprends pas la détermination des VALUE (.....) et leurs liaison avec les variables qui suive );", $var...
Merci d'avance
Rover
cf la doc -> http://fr.php.net/manual/fr/function.sprintf.php
sachant que %s => chaine de caractère
en (très) gros c'est de la concaténation :/
jamais bien compris à quoi pouvait servir *printf en php, mais bon ...
.:[ UTB ]:. Diablo xo0 Au royaume des aveugles, les bornes sont rois...
(diablo) L'utilité est fondamentale.
Premièrement, concaténer des chaîne est au mieux une obfuscation du code, au pire un trou de performance. En C++, l'opérateur d'injection et l'opérateur de concaténation ont aussi été pensés pour jeter aux gémonies les fonctions *printf. Mais le problème de performances, le manque de lisibilité et l'aspect pratique des formats fait que le standard comportera bientôt à nouveau cette fonctionnalité indispensable (actuellement il faut utiliser boost::format).
L'opérateur de concaténation alloue une nouvelle chaîne à chaque concaténation.
sprintf analyse la chaîne de format, analyse les paramètres qui lui sont fournis, alloue une chaîne, et écrit dedans.
L'autre avantage c'est qu'on peut aussi formater la chaîne. Ce peut être utile pour produire des fichiers CVS à champs fixe.
Sinon, pour la consultation de la documentation, je suis bien d'accord. Tout est exprimé en long et en travers dans la documentation, avec moults exemple. De plus, *printf est un standard en programmation, il faut le connaître.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
le 15/08/2008 à 18:54
rover
Merci beaucoup j'y vois plus clair.
Je vis donc tenter de m'y atteler aussi.
Rover
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: