Načrtovanje in razvoj spletnih aplikacij

Nizi v PHP

Pravilo pri uporabi narekovajev za označevanje vrednosti spremenljivk je, da se številke pišejo brez narekovajev, besedilo pa zahteva narekovaje. Uporablja se enojne ali dvojne narekovaje. Narekovaji morajo biti vedno v parih.

Potrebno je biti previden pri uporabi enojnega narekovaja v nizih z enojnimi narekovaji ali dvojnih narekovajev v nizih z dvojnimi narekovaji. Npr.:

$novica['naslov']='Igralnica Harrah's na Goriškem';

PHP v tem primeru vidi enojni narekovaj za imenom kot zaključek teksta, zato javi napako. Obstajata dve rešitvi tega problema. Če tekst vsebuje enojne narekovaje, uporabiš dvojne narekovaje ali pa pred enojni narekovaj postaviš levo poševnico:

$novica['naslov']="Igralnica Harrah's na Goriškem";
$novica['naslov']=' Igralnica Harrah\'s na Goriškem ';

Podobno velja pri dvojnih narekovajih v nizih obdanih z dvojnimi narekovaji.

Kreiranje niza z dvojnimi narekovaji

<?php
   $my_string = "Stavek, kot niz!";
   echo "Stavek, kot niz!";
   echo $my_string;
?>
Stavek, kot niz!Stavek, kot niz!

Kreiranje niza z enojnimi narekovaji

<?php
   $my_string = 'Stavek kot niz!';
   echo 'Stavek kot niz!';
   echo $my_string;
?>
Stavek kot niz!Stavek kot niz!

Uporaba narekovajev pri spremenljivkah vključenih v nize

PHP jemlje niz obdan z enojnimi narekovaji dobesedno kot tekst.

$ime = 'Janez';
echo 'Pozdravljen, $ime'; //izpiše Pozdravljen, $ime

Sremenljivki $ime je pripisana vrednost in nato je uporabljena v nizu obdanemu z enojnimi narekovaji. $ime je v tem primeru obravnavan kot navaden tekst. V primeru, da je niz obdan z dvojnimi narkovaji, se spremenljivka $ime obdela:

$ime = 'Janez';
echo "Pozdravljen, $ime"; // izpiše Pozdravljen, Janez

Z dvojnimi narekovaji se obda tudi tri posebna zaporedja, ki jih PHP pogon ustrezno obdela. Ta so:

  • \n - vstavi znak za konec vrstice
  • \r - vstavi prehod na začetek nove vrstice
  • \t - vstavi tabulator

Izpis posebnih znakov

<?php
   $newline = "Prehod v novo vrsto izvedemo z \n";
   $return = "Kazalec v novo vrsto je \r";
   $tab = "Tabulator vstavimo z \t";
   $dollar = "Znak za dolar v besedilu uporabimo takole \$";
   $doublequote = "Znak za dvojni narekovaj je \"";
   echo $newline;
   echo $return;
   echo $tab;
   echo $dollar;
   echo $doublequote;
   echo "<hr />"; 

   //funkcija nl2br, ki vstavi HTML prelome vrstic pred vse 
   //prehode v novo vrsto
   echo nl2br ("Prehod v novo vrsto izvedemo z \n");
   echo nl2br ("Kazalec v novo vrsto je \r");
   echo nl2br ("Tabulator vstavimo s \t");
   echo nl2br ("Znak za dolar v besedilu uporabimo \$");
   echo nl2br ("Znak za dvojni narekovaj je \"");
?>
Prehod v novo vrsto izvedemo z Kazalec v novo vrsto je Tabulator vstavimo z Znak za dolar v besedilu uporabimo takole $Znak za dvojni narekovaj je "
Prehod v novo vrsto izvedemo z
Kazalec v novo vrsto je
Tabulator vstavimo s Znak za dolar v besedilu uporabimo $Znak za dvojni narekovaj je "

Kreiranje večvrstičnega teksta z metodo "heredoc"

PHP-jeva heredoc skladnja olajša določanje teksta spremenljivki, tako da ni več potrebno paziti na narekovaje. Pripisovanje niza spremenljivki z uporabo heredoc-a vključuje naslednje korake:

  1. Najprej napišeš ime spremenljivke, nato enačaj, ki naj mu sledita <<< in določevalec. Določevalec je lahko katerakoli sestava črk, števil in podčrtaja, če se le ne začne s številko.
  2. Napišeš niz v novi vrstici, ki se mora nujno začeti na začetku vrstice. Niz lahko vključuje tako enojne kot dvojne narekovaje. Vse spremenljivke bodo obdelane na isti način kot pri nizu obdanemu z dvojnimi narekovaji.
  3. Nato napišeš določevalec v novo vrstico. V tej vrstici naj ne bo razen določevalca in končnega podpičja ničesar drugega. Označevalec mora biti na začetku vrstice, ne sme biti zamaknjen.

Primer:

<?php
   $my_string = <<<TEKST
Tole je tekst prve vrstice.
Tole je tekst druge vrstice.
Tole je tekst tretje vrstice!
TEKST;
	
   echo $my_string;
?>
Tole je tekst prve vrstice. Tole je tekst druge vrstice. Tole je tekst tretje vrstice!