Snuppet direkte fra:
http://rowl.dk/showarticle.asp?id=123&succes=&page=0----------------------------------------------
print frem for echo
Jeg synes, der er flere grunde til at bruge print frem for echo. For der er nemlig en del forskellige på de to. I manual sammenhæng ser de to nemlig sådan ud:
void echo([mixed…]);
int print([mixed…]);
Hvis du bare skal udskrive noget på skærmen er det lidt ligegyldigt hvilken en du bruger, men hvis du for alt i verden vil have en return value, skal du bruge print. Den returnerer nemlig 1 (true) hvis det lykkedes den at skrive noget, ellers returnerer den 0 (false):
<?
echo @(print $var) === true ? 'Print udskrev noget på skærmen' : 'Print udskrev ikke noget på skærmen';
?>
Følgende vil skrive ’Print udskrev ikke noget på skærmen’, fordi variablen $var ikke er oprettet.
En anden ting er..
<?
# Du kan gøre sådan her:
echo print 'Hej';
# Og sådan her:
$var = print 'Hej';
# Men ikke sådan her:
print echo 'Hej';
# Eller sådan her:
$var = echo 'Hej';
?>
Hvis jeg kort skulle forklare det med mine egne ord, så ville jeg sige print er en funktion, mens echo er en såkaldt ”contruct”. De er faktisk begge af typen ”contruct”, men print opfører sig mere som en funktion, fordi den returnerer en værdi, hvor echo bare bruges til at udskrive noget på skærmen.
Det kan diskuteres hvor relevant det er, om man bruger print eller echo, for i princippet er det jo op til dig selv, jeg tænkte bare lige jeg ville tage den med, fordi der faktisk er mange der ikke kender til forskellen.
----------------------------------------------