nedelja, november 04, 2007

Nizi in ubežni znaki v PHP

Nek niz znakov v PHP lahko izpišemo s funkcijo print ali echo:
print "Pozdravljeni obiskovalci";
Zgornji stavek izpiše "Pozdravljeni obiskovalci". Znaki, ki so obdani z dvojnimi narekovaji torej predstavljajo niz. PHP teh znakov ne obdeluje, torej če bi zapisali "50+100", PHP tega ne bi videl kot aritmetično operacijo, temveč kot niz znakov in jih v taki obliki tudi izpisal:
print "50+100";

Druga možnost je uporaba enojnih narekovajev. Oba zgoraj navedena primera, bi enako delovala, če bi uporabili enojne narekovaje. Razlika se pokaže, ko želimo v niz dodati še nek drug niz, ki je shranjen v svoji spremenljivki. Poglejmo primer:

$stevilo_obiskovalcev = "5000 obiskovalcev";

printf "Spletno stran je obiskalo $stevilo_obiskovalcev.";
printf 'Spletno stran je obiskalo $stevilo_obiskovalcev.';

Zgornji primer bi izpisal:
Spletno stran je obiskalo 5000 obiskovalcev.
Spletno stran je obiskalo $stevilo_obiskovalcev.

Pri zapisu z dvojnimi narekovaji vidimo, da se uporabi vrednost spremenljivke, medtem ko se pri uporabi enojnih narekovajev izpiše besedilo kot je vidno v kodi.


Kako pa postopamo, ko želimo v našem nizu uporabiti enojne ali dvojne narekovaje? Enostavno, pomagamo si s tako imenovanimi ubežnimi znaki (ang.: escape characters), ki seveda zmorejo še veliko več. Poglejmo nekaj primerov:

print "Če želimo izpisati \"dvojne narekovaje\" uporabimo pred narekovajem poševnico nazaj (\)";
print 'Bolj pregledno je, če uporabimo "enojne narekovaje", med njimi pa lahko poljubno uporabimo dvojne narekovaje';

Ubežni znaki pomagajo urediti izgled zapisane kode in ne izgled same strani, kot jo vidi obiskovalec. Poskusite zapisati nekaj stavkov PHP kode in nato poglejte kodo vaše strani. Videli boste, da je koda dokaj nepregledna in se večinoma nadaljuje v dolgih, neprekinjenih vrsticah.

Takšno kodo lahko uredimo z uporabo naslednjih ubežnih znakov:
\n pomeni new line
\t pomeni tab
\r pomeni carriage return

Še primer:

print "To je prva vrtica na zaslonu in v kodi;
print "To je druga vrstica na zaslonu vendar še vedno prva v kodi;
print "\nTo bo tretja vrstica na zaslonu in druga v kodi";
print "\n\tVrstica, ki je v kodi zamaknjena";

Vidimo, da izgled na strani določamo z običajnim XHTML, medtem ko za ustrezen izgled kode poskrbimo z ubežnimi znaki.






Ni komentarjev: