Već smo pokazali kako se PHP kod nalazi između <?php i ?> kvačica. Druga stvar jest da varijable prije svog imena imaju znak $.
Varijable prije svog imena obavezno moraju sadržavati znak $. Tako PHP govori prevoditelju da se radi o varijabli, a ne o tekstu. Ukoliko izostavite znak $, aplikacija će javiti grešku (u najboljem slučaju) ili će prijeći preko nje (u najgorem slučaju) i umjesto sadržaja varijable ispisati samo njeno ime. Još jedan vrlo bitna stvar kod varijabli u PHP-u je da su imena varijabli case-sensitive ($mojeime nije isto što i $MojeIme).
Sadržaj bilo koje varijable podložan je izmjeni svog tipa. Znači da nekakav broj može vrlo lako postati string i obratno.
Tipove možete mijenjati implicitno i eksplicitno (u slijedećim promjerima se neću pridržavati gore navedenih pravila imenovanja varijabli).
<?
// implicitno
$var = 1; // varijabla je tipa integer
$var += 1.5 // varijabla je tipa double (realni broj)
$var = 5 + "10 čaša"; // varijabla je integer (15)
$var = 5 + "10 čašica"; // varijabla je integer (15)
// eksplicitno
$int_neki_broj = 10;
$str_neki_broj = (string) $int_neki_broj
// prebacili smo broj u string (ASCII znakove)
?>
Eksplicitna izmjena tipa varijable vrši se tako da u neku novu varijablu pridružite neku već postojeću varijablu i ispred nje navedete u zagradama tip u koji želimo prebaciti varijablu koju pridružujete. Isto tako možete u varijablu pridružiti nju samu s eksplicitnom izmjenom tipa podatka.
<?php
$int_var=10;
$int_var=(double) $int_var;
echo gettype($int_var);
// gettype($int_var) vraća tip dane varijable
?>
Moguće konverzije su:
PHP podržava više tipova komentara. U dosadašnjem tekstu koristio sam inline komentare ( // komentar ). Oni preskaču sav tekst koji se nalazi iza njih sve do početka novog reda.
Ukoliko želite komentirati više redova koristite se multiline komentarima
<?php
/* Ovo je komentar
koji se proteže kroz čak
tri reda */
?>
U PHP-u ne postoje fiksni tipovi podataka varijabli. Naime, ne morate definirati tip varijable prije njenog korištenja - varijablu možete deklarirati bilo kada unutar skripte i pridruživati joj različite tipove podataka tokom izvođenja skripte (iako ovo nije uobičajena niti previše pametna praksa). Isto tako možete mijenjati tip podataka neke varijable jednog te istog sadržaja, ali o tome par redaka kasnije.
Tipovi podataka koje podržava PHP su:
U ovaj tip varijable možemo pohraniti pozitivne i negativne brojeve u rasponu od -2147483648 do 2147483647 tj. 32 bita podataka. Možemo ih zapisati u decimalnom, oktalnom ili heksadecimalnom zapisu.
Par primjera:
$int_var=123; //pozitivan decimalni broj
$int_var=-123; //negativni decimalni broj
$int_var=0123; //oktalni broj
$int_var=0#123; //heksadecimalni broj
Postoje dva načina spremanja realnih brojeva:
$dbl_var=0.123;
// ili
$dbl_var=1.123e8;
Budite pažljivi kada koristite realne brojeve. Naime, njihova točnost nije garantirana (zbog pretvaranja ovog broja u njegov binarni ekvivalent - recimo 0.33333 nikada neće biti točno prebačen u binarni ekvivalent). Stoga, nemojte ih uspoređivati za jednakost i vjerovati im do posljednje decimale.
Sadržaj string tipa varijable nalazi se između navodnika. Možete koristiti duple i jednostruke navodnike. Postoje razlike u ispisu sadržaja ovisno o tipu navodnika koje koristite.
Korištenjem duplih navodnika možete koristiti 'special characters'. To su posebni znakovi koji govore PHP-u da izvrši određene radnje pri ispisu sadržaja varijable. Ako ste ikada radili u C-u ili Perlu, već ste upoznati s ovim znakovima. To su znakovi koji slijede iza znaka backslash ( \ ).
Ukoliko želite da se neki tekst prebaci u novi red, pri gledanju stranice u prozoru browsera morat ćete se poslužiti <br> i sličnim tagovima. Znači, ako se želite koristiti PHP-om, morate se jako dobro znati služiti HTML-om.
Još jedan bitna razlika između duplih i jednostrukih navodnika je ta da će se pri korištenju duplih navodnika sadržaj varijable ispisati, a pri korištenju jednostrukih navodnika ispisat će se ime varijable skupa sa znakom $. Mali primjer će ovo dobro ilustrirati:
<?php
$str_ime="Kreso";
echo ("moje ime je $str_ime");
?>
Ispisuje: moje ime je Kreso
Dok će
<?php
$str_ime="Kreso";
echo ('moje ime je $str_ime');
?>
ispisati: moje ime je $ime
U PHP-u je također moguće spajanje više stringova u jedan ispis. To radimo pomoću '.' . Evo primjera:
<?php
$str_var1='Dijete';
$str_var2='ide'; //nema razmaka prije ili poslije riječi
echo $str_var1 . ' ' . $str_var2 . ' u školu';
// rezultira sa
// Dijete ide u školu ?>
PHP podržava više vrsta nizova - tekstualne (associative) i cjelobrojne (vectors / indexed). Mogu biti jednodimenzionalni ili multidimenzionalni.
Primjer cjelobrojnog jednodimenzionalnog niza:
<?php
$arr_boje=array('plavo','žuto','zeleno');
echo $arr_boje[0]; // ispisat će 'plavo'
?>
Primjer tekstualnog (associative) niza:
<?
// recimo da želite reproducirati sadržaj
// svog hladnjaka u niz
$arr_hladnjak=array( "jaja"=>12, "salama"=>"0.2 kg" );
echo $arr_hladnjak["salama"]."<br>\n";
// ispisali ste koliko salame imate u hladnjaku ?>
Ova dva tipa polja mogu se i kombinirati...
Primjer jednog obrasca:
<form name="forma1" method="post" action="obrada.php">
Ime <input type="text" name="ime"> <br>
Prezime <input type="text" name="prezime"> <br>
<input type="submit" name="slanje" value="Posalji">
</form>
Spremite ovu formu u file koji nazovite forma.htm. Sada stvorite novi file i nazovite ga obrada.php. Spremite ga u isti folder kao i forma.htm.
<?
// prihvat i ispis podataka forme
echo $_POST['ime'].' '.$_POST['$prezime'];
?>
Da smo u formi iznad koristili GET metodu, tada bi u obrada.php koristili $_GET['ime'] i $_GET['prezime'], ili ako nismo sigurni u metodu $_REQUEST['ime'] i $_REQUEST['prezime'].