Echo ou Print ? - PHP - Programmation
Marsh Posté le 29-06-2005 à 18:15:01
echo est censée être un tout petit chouilla plus rapide étant donné qu'elle ne renvoie rien (ce n'est d'ailleurs pas vraiment une fonction).
print, qui n'est pas non plus vraiment une fonction d'ailleurs, renvoie par contre toujours 1. On peut donc la mettre dans la condition d'un if, ou alors dans une structure en ?:.
Le plus souvent, echo suffit.
Marsh Posté le 29-06-2005 à 18:17:15
Heu, je suis pas très fort en php lol, tu veux dire qu'on peut vérifier si une chaîne de caractaires existe ?
Marsh Posté le 29-06-2005 à 18:22:04
Tu peux faire un truc du genre:
Code :
|
(même si je trouve ça assez moche, je préfère de loin :
Code :
|
)
Avec echo, ça marche pas (la deuxième solution marche bien sûr dans les deux cas).
Marsh Posté le 29-06-2005 à 18:27:05
Là, franchement, j'ai rien compris.
Je n'ai que 13 ans et je suis des cours sur le net, là, j'apprend le PCRE.
Marsh Posté le 29-06-2005 à 19:39:45
patience alors, ca viendra
voila un magnifique tuto pour toi
http://www.siteduzero.com/php/
Marsh Posté le 29-06-2005 à 19:41:30
Désolé, mais j'ai déjà tout lus, "les regex", tu le vois lol, c'est vers la fin.
Marsh Posté le 29-06-2005 à 19:57:25
ba tu n'as pas bien lu, si tu ne comprend meme pas le petit script que sielfried
Marsh Posté le 29-06-2005 à 20:31:29
Paracetamol a écrit : C'est ce ? qui me gêne. |
http://fr2.php.net/manual/en/langu [...] on.ternary
Marsh Posté le 29-06-2005 à 20:41:14
Le petit problème c'est que j'apprend l'allemand, et non l'anglais.
Marsh Posté le 29-06-2005 à 20:43:18
Paracetamol a écrit : Le petit problème c'est que j'apprend l'allemand, et non l'anglais. |
http://fr2.php.net/manual/fr/langu [...] on.ternary
Marsh Posté le 29-06-2005 à 20:46:35
Allemand il a dit
http://fr2.php.net/manual/de/langu [...] on.ternary
Marsh Posté le 29-06-2005 à 20:59:20
Paracetamol a écrit : Le petit problème c'est que j'apprend l'allemand, et non l'anglais. |
connerie
Marsh Posté le 29-06-2005 à 21:24:14
Ouai bon pour en revenir au sujet moi j'utilise Echo parce que ca me rappel MS~DOS
Print ca me fait trop penser à de l'impression plutot qu'à de l'affichage...
Marsh Posté le 29-06-2005 à 21:36:00
dwogsi a écrit : Ouai bon pour en revenir au sujet moi j'utilise Echo parce que ca me rappel MS~DOS |
Marsh Posté le 29-06-2005 à 21:37:50
Oui bon bah ca va, MS~DOS ca date mais c'était ca à l'époque, et ayant commencé par là il y a bien longtemps bah ca ma quelque peu, hummm... MARQUÉ!
Marsh Posté le 29-06-2005 à 21:49:42
sielfried a écrit : Tu peux faire un truc du genre:
) |
Moi je trouve le if tellement plus lisible.
Marsh Posté le 30-06-2005 à 00:04:20
Quoique en même temps print ca me prappel le bon vieux basic sur mon amstrad 464+ lol
Marsh Posté le 30-06-2005 à 00:45:33
Tout à fait mais de toute facon c'était déjà choisi depuis quelques années déjà lol Echo pour toujours! Enfin tant que ca existe mais a mon avis ca risque pas de disparaitre...
Marsh Posté le 30-06-2005 à 09:57:36
Surtout, avec echo, on peut faire ça :
echo 'pouet', 'truc', $tagada, ' - ', $machin; |
Donc balancer un max de truc sans concaténation de string (noter la virgule à la place du point maléfique), et sans devoir foutre une ligne par machin
Marsh Posté le 30-06-2005 à 10:14:12
FlorentG a écrit : Surtout, avec echo, on peut faire ça :
|
Oula oui, c'est vrai que print ne prend qu'un arg.
Marsh Posté le 30-06-2005 à 11:48:06
FlorentG a écrit : Surtout, avec echo, on peut faire ça :
|
Et c'est quoi l'avantage de la virgule sur le point ? Parce qu'en nombre de caractère, c'est kifkif.
Marsh Posté le 30-06-2005 à 11:48:33
The-Shadow a écrit : Et c'est quoi l'avantage de la virgule sur le point ? Parce qu'en nombre de caractère, c'est kifkif. |
pas d'opération de concaténation.
Marsh Posté le 30-06-2005 à 11:54:28
FlorentG a écrit : Surtout, avec echo, on peut faire ça :
|
C'est plus rapide que :
echo 'pouet'.'truc'.$tagada.' - '.$machin; |
?
Ou c'est pareil a des nanosecondes pres sur 1'000'000 requetes?
Marsh Posté le 30-06-2005 à 11:55:24
The-Shadow a écrit : Et c'est quoi l'avantage de la virgule sur le point ? Parce qu'en nombre de caractère, c'est kifkif. |
C'est pas une histoire de caractère, c'est une histoire de conacténation. On s'en fout de construire une autre chaîne à partir des arguments, on balance direct -> exécution plus rapide, conso mémoire plus petite
Marsh Posté le 30-06-2005 à 11:55:49
esox_ch a écrit : C'est plus rapide que :
|
ça doit pas chier bien loin...quoique avec la manie de php de toujours faire des copies de copies de copies...
Marsh Posté le 30-06-2005 à 14:36:05
Pour donner une petite idée de la différence de vitesse, on trouve ça sur php.net (fonction echo, commentaires) :
When possible, it is faster to pass multiple parameters to echo versus passing one parameter which is many concatinations. Below is a script which will preform a quick benchmark for you to see:
Code :
|
The results I got when running the script above were 6.047 seconds for concatinations and 1.781 seconds for parameter passing. This was just executing the script via command line, having the output dumped to a console. The performace increase is even greater when using a script on a webpage with output buffering.
( http://fr.php.net/echo )
Marsh Posté le 30-06-2005 à 15:55:39
bah moi je prefer print ca me fais penser a java mais bon apres l'un ou l'autre fo etre pointilleux pour avoir besoin de l'un plutot que de l'autre
Marsh Posté le 30-06-2005 à 16:20:37
Tiens je serais curieux de savoir combien de langages utilisent print et combiens utilises echo, tout langages confondu bien sur.
Sans compter ceux qui utilisent les deux comme php!
Marsh Posté le 30-06-2005 à 16:33:54
dwogsi a écrit : Tiens je serais curieux de savoir combien de langages utilisent print et combiens utilises echo, tout langages confondu bien sur. |
Mais ça veut rien dire...
Marsh Posté le 30-06-2005 à 16:39:37
Qu'est ce qu'on peut en avoir à foutre?
Marsh Posté le 30-06-2005 à 16:40:22
ReplyMarsh Posté le 30-06-2005 à 16:40:55
Multinickname a écrit : Dans ce cas là idem pour le sondage |
Merci!
Marsh Posté le 01-07-2005 à 12:13:28
N'oubliez pas par contre que l'optimisation echo vs print c'est vraiment très fin comme optimisation. Y gagner quelque chose suppose que le reste du script est bien conçu et ne fait pas des choses aberrantes au niveau des performances.
Marsh Posté le 01-07-2005 à 12:22:04
KrisCool a écrit : N'oubliez pas par contre que l'optimisation echo vs print c'est vraiment très fin comme optimisation. Y gagner quelque chose suppose que le reste du script est bien conçu et ne fait pas des choses aberrantes au niveau des performances. |
Enfin si le site fait 1 000 000 000 000 hits par seconde, la différence sera perceptible
Marsh Posté le 29-06-2005 à 18:07:48
Bonjour, je voulais savoir si vous êtes plutôt "echo" ou plutôt "print" et pour quelle(s) raison(s).
---------------
Be Free, Be Linux, Be Penguin !