PHP kiíratások, azaz echo és print + short open tag beállítása, használata
Ebben a leckében a különböző PHP-ban használatos kiíratásokkal fogunk megismerkedni, köztük az echo-val és a print-el. Ezenfelül bemutatjuk az echo egy rövid formáját, amelyet short open tag-nek nevezünk.
PHP echo használata magyarul
Ahogy a címben és a bevezetőben is szerepel, a PHP-ban az echo segítségével tudunk szöveget, illetve változó értéket kiíratni.
Szintaxis
echo("SZÖVEG"/VÁLTOZÓ);
// VAGY
echo "SZÖVEG"/VÁLTOZÓ;
Code language: PHP (php)
A PHP-ban az echo-t kétféleképpen használhatjuk, az egyik esetben írunk zárójelet, a másikban nem. Természetesen a két megoldás között nincs különbség eredmény szempontjából. Ha szöveget szeretnénk kiírni, akkor azt idézőjelek vagy aposztróf jelek közé kell tennünk. Ha egy változó értékét szeretnénk kiíratni, akkor nem kell idézőjelet és aposztrófot használni, szimplán a változó nevét kell kiírnunk.
Első echo példa
PHP kód
<!DOCTYPE html>
<html>
<body>
<?php
$valtozo = "Ez egy változó. <br>";
echo "PHP szöveg <br>";
echo("Ez is PHP szöveg <br>");
echo $valtozo;
echo($valtozo);
?>
</body>
</html>
Code language: HTML, XML (xml)
Eredmény
PHP szöveg
Ez is PHP szöveg
Ez egy változó.
Ez egy változó.
A fenti példában mind szöveget és mind változót kiírattunk mind a két echo használati módszerrel. Ahogyan egy korábbi cikkünkben már volt róla szó, a PHP fájl nyugodtan tartalmazhat HTML elemeket is, ezért tehettünk mi is „<br>„-eket a kiíratásunkba, hiszen a böngésző tudja őket értelmezni, így minden kiíratás egy új sorba kerülhet.
Természetesen nem csak egy szöveget írhatunk ki, több különböző szöveget is összefűzhetünk, illetve több változó értékét is összeadhatjuk a kiíratás során.
Második echo példa
PHP kód
<!DOCTYPE html>
<html>
<body>
<?php
$szam1 = 5;
$szam2 = 3;
echo "Az első szám: " . $szam1 . ", a második szám: " . $szam2 . ", az összegük: " . $szam1+$szam2;
?>
</body>
</html>
Code language: HTML, XML (xml)
Eredmény
Az első szám: 5, a második szám: 3, az összegük: 8
A fenti példában egyetlen egy echo-t használtunk a szöveg és a változók kiíratására. Két szöveget vagy változót, illetve egy szöveget vagy egy változót a pont karakterrel lehet összefűzni. Illetve a sor legvégén össze is adtunk két változót, melynek már az eredménye lett kiíratva.
PHP echo rövid forma (short open tag)
Ahogy fentebb írtuk, ahhoz hogy PHP kódot írjunk, szükségünk van valamire, amivel jelezhetjük a böngészőnek, hogy mettől meddig tart a PHP kód. Ezt alapesetben ezzel tudjuk megtenni:
<code><?php ?></code>
Code language: HTML, XML (xml)
De a PHP-ban lehetőségünk van arra, hogy egy “echo” kiíratás során ne kelljen kiírnunk a teljes erre szolgáló kódot, hanem elegendő legyen csak egy rövidebb kódot begépelnünk. Ennek a szintaxisa így fest:
<code><?= "SZÖVEG"/VÁLTOZÓ ?></code>
Code language: HTML, XML (xml)
Ebben az esetben a nyitótagünk egy “<?=” lesz, amit a kiíratandó szöveg vagy változónév követ, majd lezárjuk az egészet egy “?>” zárótaggel. Természetesen a szöveg helyére egy változó nevét is írhatjuk, amely ebben az esetben a változó tartalmát fogja kiírni.
Short open tag példa
PHP kód
<code><!DOCTYPE html>
<html>
<body>
<?php
echo "Hosszabb echo";
?>
<?= "Rövidebb echo" ?>
</body>
</html<span style="font-family: Menlo, Consolas, monaco, monospace;"></span></code>
Code language: JavaScript (javascript)
Eredmény
Hosszabb echo
Rövidebb echo
short open tag bekapcsolása
Ahhoz, hogy a fent leírt rövid változat működőképes legyen, a szerverünkön muszáj engedélyezni a short_open_tag-et, amelyet úgy tehetünk meg, hogy előkeressük a PHP mappában található php.ini fájlt, majd rákeresünk a következőre: “short_open_tag“. Ha “Off”-on van, akkor írjuk át “On“-ra. Ha „On„-on van, akkor hagyjuk úgy. A rövid verzió használatához így kell kinéznie:
short_open_tag=On
Természetesen, ha átírtuk, akkor ne feledkezzünk meg a fájl mentéséről sem.
Sok webfejlesztő nem ajánlja a short open tag használatát, mert vannak olyan szerverek, amelyen alapértelmezetten nincs bekapcsolva a funkció, és a bekapcsolására sincs lehetőség.
PHP print használata magyarul
Most pedig következzen a PHP print utasítása. Ez az utasítás is – csak úgy, mint az echo – használható zárójellel, illetve anélkül is.
Szintaxis
print("SZÖVEG"/VÁLTOZÓ);
// VAGY
print "SZÖVEG"/VÁLTOZÓ;
Code language: PHP (php)
A szintaktika semmit sem változik az echo-hoz képest.
Első print példa
PHP kód
<!DOCTYPE html>
<html>
<body>
<?php
$valtozo = "Ez egy változó. <br>";
print "PHP szöveg <br>";
print("Ez is PHP szöveg <br>");
print $valtozo;
print($valtozo);
?>
</body>
</html>
Code language: HTML, XML (xml)
Eredmény
PHP szöveg
Ez is PHP szöveg
Ez egy változó.
Ez egy változó.
Valójában az előző példához képest semmit sem változtattam, csak átírtam az „echo„-kat „print„-ekre. Láthatjuk, hogy a megoldás teljes mértékben ugyanaz lett.
Második print példa
PHP kód
<!DOCTYPE html>
<html>
<body>
<?php
$szam1 = 5;
$szam2 = 3;
print "Az első szám: " . $szam1 . ", a második szám: " . $szam2 . ", az összegük: " . $szam1+$szam2;
?>
</body>
</html>
Code language: HTML, XML (xml)
Eredmény
Az első szám: 5, a második szám: 3, az összegük: 8
PHP echo vagy PHP print? Melyiket használjam?
A fenti példákban tökéletesen látszott, hogy nem történt változás a megjelenítésben attól függően, hogy „echo”-t vagy „print„-et használtunk. Ez azért történt, mert az „echo” és a „print” nagyon nagy részben hasonlítanak egymásra, például mind a ketten ugyanúgy jelentetik meg a szöveget.
Az egyetlen lényeges különbség az az, hogy az „echo„-nak nincs visszatérési értéke, míg a „print„-nek van. A „print” visszatérési értéke 1, ami azt jelenti, hogy ezt feltudjuk használni például elágazások írása során.
Illetve az „echo” több paramétert is tartalmazhat, míg a „print” csak egyet. A gyakorlatban ez azt jelenti, hogy ez gond nélkül lefut:
echo "Az ","echo ","képes ","erre ","is.";
Code language: PHP (php)
Az eredménye ez lesz: ,,Az echo képes erre is.„
Míg a „print” nem képes ezt megtenni. Ha ugyanazt írom „print„-el, mint feljebb:
print "Az ","echo ","képes ","erre ","is.";
Code language: PHP (php)
Akkor ez lesz a jutalmunk: ,,PHP Parse error: syntax error, unexpected ‘,’ in /…/…„
Gyakorlati jelentősége nem nagyon van, hiszen nagyon ritkán alakul úgy a helyzet, hogy ezt kelljen használni, ha pedig úgy alakul, akkor is nagyon egyszerű alternatívát találni rá.
Végezetül még érdemes megemlíteni, hogy az „echo” futási időben gyorsabbnak mondható, mint a „print„.