Débat [Print ou echo]

Signaler
Messages postés
392
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
26 septembre 2009
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Bonjour a tous, j'ouvre ce topic pour faire un débat print ou echo.

Par la même occasion, j'aimerais savoir quel est le mieux a utiliser.





A++


<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !

8 réponses

Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
Salut,



il n'y a pas franchement de débat à avoir, puisque que c'est quasiment la même chose...
print

echo



ce sont deux mots clef (comme return, exit, ...)

La seule différence est

print => retourne une valeur (toujours 1)



echo => accepte plusieurs "paramètres" (je met paramètres entre parenthèses car ce n'en sont pas !)


après niveau performance, je ne sais pas.




Bref fait comme tu veux... sais un peu tout pareil
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,



www.vulgarisation-informatique.com/optimiser-php.php



y'a pas de débat à avoir ou presque, echo est plus performant que print
et utilisé avec une virgule au lieu d'un point c'est encore légèrement
plus rapide...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
392
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
26 septembre 2009

Ok, merci a vous.

<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
chere [auteurdetail.aspx?ID=565117 J_G], print n'est pas un mot clef mais une fonction...


donc effectivement, ça explique que ce ne soit pas des paramètres pour
echo... et ça explique aussi que print ai une valeur de retour... (même
si il existe des fonctions void en C, en php, ça n'est pas prévu à
cause du faible typage et du typage juste conventionnel des
fonctions...)


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
Cher cher cher coucou747,



Nous parlons pourtant de la base de PHP !?!



voici une petite citation d'un, hô combien, site important quand on développe en PHP :

print() n'est pas vraiment une fonction (c'est
techniquement une structure du langage). Cela fait que vous n'êtes
pas obligés d'utiliser des parenthèses.


De même (mais là, on est plus dans les notions de base):

set_time_limit


(PHP 3, PHP 4, PHP 5)

set_time_limit -- Fixe le temps maximum d'exécution d'un script


Description
void set_time_limit ( int seconds )





Je te laisse aller vérifier par toit même ;)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
dsl pour la "fonction" de print dans le langage php, j'avais confondu avec printf (je n'utilise aucun des deux en php...)


effectivement, ils nottent void, mais c'est par convention comme je l'ai dit...



tu note quoi devant la fonction suivante si tu veux rédiger la doc ?



function a($b){

if ($b==0)

return 2

else

return '2';

}



tu vas noter mixed, et c'est quoi d'après toi ? un type ? (selon php.net, c'est un pseudo type)

On peut donc dire qu'on note quelquechose devant la fonction dans la
doc, uniquement pour aider... Mais que ça n'a aucun sans en
programmation PHP, t'as jamais fait renvoyer false à une fonction qui
renvoi une chaine normalement ? (moi si) tu n'as jamais fait de
fonction qui renvoi parfois une valeur, parfois rien ? (euh... par
facilité pour les erreurs suivantes, je crois que je renvoyais quand
même false...)



Void n'est pas un type non plus, mais ça perd son sens quand les
fonctions n'ont pas besoin de déclaration précisant le type de retour...



En C, tu écris :



void sleep();

comme déclaration, et tu le réécris pour deffinir ta fonction...



void sleep(){

...

}



en C, si tu ne renvoi rien, on peut dire que tu renvoi void, mais en
php, on préfère dire que tu ne renvoi rien... (juste la pile dans un
autre contexte d'exécution...)



cf http://fr.php.net/manual/fr/language.types.php




In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
Question intéressante que ce void...



et merci pour ton éclaircissement, ça fait tellement longtemp que je
n'est pas fait de C, que j'avais oublié le sens profond de ce void.



Pour moi (en PHP), une fonction renvoyant void est en fait une procédure. Alors j'ai fait un petit test rapide :



<?php

var_export($a);

echo '
';

$a = set_time_limit(1);

var_export($a);

?>





sortie :





Notice: Undefined variable: a in /var/www/.../test/void.php on line 3


NULL

true





En fait cette soit-disant fonction void renvoi true. Plutôt étonnant ...! (quoique on s'en fout royal en fait)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
ce genre de chose peut t'aider à optimiser un programme quand t'as des
goto (car ça touche à la pile) mais sinon, c'est claire que ça n'a pas
d'importance... alors comme en php, t'as pas de goto....

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org