Načrtovanje in razvoj spletnih aplikacij

Podatkovni tipi v PHP

PHP ponuja široko množico podatkovnih tipov. Ti se delijo v tri kategorije:

Skalarni podatkovni tipi

Skalarni podatkovni tipi lahko sprejmejo le en podatek. Skalarni podatkovni tipi so:

Boolean

Spremenljivka logičnega tipa Boolean ima lahko le dve vrednosti true ali false (PHP ni občitljiv na velike/male črke). True lahko predstavimo tudi z od nič različno vrednostjo, false pa z nič npr.:

 $avto = true;  // $avto je true
 $avto = false;  // $avto je false

 $avto = 1;  // $avto je true
 $avto = 0;  // $avto je false
 $avto = 5;  // $avto je true
 $avto = -2;  // $avto je true

Integer

Cela števila Integer imajo lahko osnovo 10, 8 ali 16:

 17     // desetiško število 
 -693   // desetiško število 
 0352   // osmiško število 
 0x4ac6 // šestnajstiško število

Obseg celoštivlskega tipa je odvisen od platforme, tipipčno pa lahko zavzema vrednosti med -231 in +231. Če se obseg prekorači, PHP pretvori celoštevilski tip v decimalni.

Float

Števila s plavajačo vejico Float v PHP lahko zapišemo na več načinov:

 2.856 
 81.0 
 22.7e+2 
 43.34E+10

String

Podatkovni tip String je niz s končnim zaporedjem znakov. PHP pozna 3 skupine nizov:

  • niz obdan z dvojnim narekovajem "to je niz"
  • niz obdan z enojnim narekovajem 'tudi to je niz\n'
  • dolg niz (heredoc).

V nizih obdanimi z dvojnimi narekovaji lahko uporabljamo ubežne kode (\n – nova vrsta, \$ dollar znak ...), nizi v enojnih narekovajih pa se obravnavajo kot so zapisani (ubežne kod se ignorirajo).


Sestavljeni podatkovni tipi

PHP pozna dve vrsti sestavljenih podatkovnih tipov:

Array

PHP pozna indeksna in asocoativna polja Array. Pri indkesnih poljih je ključ zaporedna številka elementa v polju:

 $drzava[0] = "Slovenija";
 $drzava[1] = "Hrvaška";
 $drzava[2] = "Avstrija";
 ...

Pri asiciatvnih poljih je ključ lahko niz, ki asocira na vrednost elementa:

 $drzava["Ljubljana"] = "Slovenija";
 $drzava["Zagreb"] = "Hrvaška";
 $drzava["Dunaj"] = "Avstrija";
 ...

Polja so lahko enodimenzionalna ali več dimenzionalna.

Object

Objekti (Objects) so osnova za objektno orientirano programiranje. Za razliko od drugih podatkovnih tipov v PHP, moramo objekte eskplicitno deklarirati. To storimo z rezervirano besedo class:

 class avto { 
    private $znamka; 
    function Tip($i) { 
       $this->znamka = $i; 
    } 
 } 
 ... 
 $avtomobil = new avto; 
 ... 
 $avtomobil->Tip("BMW X1");

Posebni podatkovni tipi

Nekatere podatkovni tipi služijo posebnim namenom, zato jih ne moremo razvrstiti v zgoraj omenjene skupine:

Null

Spremneljivka, ki ima vrednost Null, je brez vrednosti, kar ni enako številu nič ali praznemu prostoru. V PHP-ju ima spremenljivka vrednost Null kadar:

  • ni postavljena na nobeno od določenih vrednosti
  • ima prirejeno vrednost Null
  • je bila njena vrednost zbrisana s funkcijo unset()

Resource

V PHP-ju pogosto pridobivamo podatke iz raznih podatkvnih virov kot so datoteke, baze podatkov in mrežni tokovi (network streams). S podatkovnimi viri upravljamo ponavadi preko ročic (handles). Spremenljivka podatkovnega tipa Resource nima vrednosti, ampak je kazalec na odprto povezavo podatkovni vir.

Primer podatkovnega toka:

 $podatki = fopen("dir/data/dat.txt", "r");