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");