String
String neboli řetězec je datový typ určený pro sekvence znaků. Může obsahovat písmena, čísla a ostatní ASCII znaky. Zapisuje se v jednoduchých nebo dvojitých uvozovkách. Pokud chceme použít uvozovky uvnitř řetězce, musíme je takzvaně escapovat. Toho docílíme zapsáním zpětného lomítka (\
) před uvozovku.
$stringA = 'text';
$stringB = "\"escape\"";
echo $stringA; //text
echo $stringB; //"escape"
(klíčové slovo echo slouží k výpisu textu na obrazovku)
Integer
Integer – v PHP "int" – obsahuje celá kladná i záporná čísla. Je možné mu přiřadit číslo v desítkové (bez prefixu), osmičkové (prefix 0) nebo šestnáctkové (prefix 0x) soustavě, avšak výpis bude vždy v desítkové soustavě.
$intA = 2;
$intB = -3;
$intC = 0xF;
$intD = 010;
echo $intA; //2
echo $intB; //-3
echo $intC; //15
echo $intD; //8
Float, Double
Float a Double jsou datové typy desetinných čísel. Ve velkém množství jazyků fungují odděleně, ale v PHP se jedná v podstatě o stejný datový typ. Desetinná čísla je možné zapisovat v různých formátech, ale vždy s desetinnou tečkou, ne čárkou.
$floatA = 1.1;
$floatB = 2.5e2;
$floatC = 5E-3;
echo $floatA; //1.1
echo $floatB; //250
echo $floatC; //0.005
Boolean
Boolean – v PHP "bool" – může nabývat pouze dvou hodnot, pravda "true" (1) nebo nepravda "false" (0). Nejčastěji se s tímto datovým typem setkáme v podmínkách nebo u některých funkcí, které v případě chyby nebo neúspěchu vrátí false.
$boolA = true;
$boolB = false;
Array
Array neboli pole je datový typ, který nám umožňuje do jedné proměnné přiřadit více hodnot. V PHP jsou všechna pole asociativní, což znamená, že každá hodnota má svůj index neboli klíč. Tyto klíče musí být pro každou hodnotu unikátní, kdežto samotné hodnoty se mohou opakovat. Defaultně je pro klíče použita číselná řada začínající nulou, ale můžeme si definovat vlastní pomocí zápisu klíč => hodnota
. Klíče musí být vždy typu Integer nebo String, zatímco hodnotou může být cokoliv, dokonce další pole. Pole zapisujeme buď do jednoduchých závorek za klíčové slovo array, nebo do hranatých závorek, jednotlivé hodnoty oddělujeme čárkou.
$arrayA = array(10, 20, 30); //[0 => 10, 1 => 20, 2 => 30]
$arrayB = ["jablko", "hruška"]; //[0 => jablko, 1 => hruška]
$arrayC = ["x" => 1, "y" => 0.5]; //[x => 1, y => 0.5]
Object
Object (objekt) je základním stavebním kamenem objektově orientovaného programování. Vzorem každého objektu je nějaká třída, ze které se vytvoří instance pomocí klíčového slova new. Objekt tím zdědí všechny atributy a metody (funkce) dané třídy, které je pak možné volat pomocí objektového operátoru ->
.
Řekněme, že máme například třídu Pes obsahující metodu mluv(), která vrací řetězec "Haf!". Pomocí objektu můžeme vytvořit její instanci a vypsat výsledek metody.
$pes = new Pes();
echo $pes->mluv(); //Haf!
Null
Null (nula, nulová hodnota) je speciální datový typ, který se přiřadí proměnné, pokud neobsahuje žádná data.
$promenna; //null
Přetypování
Hodnoty proměnných je také možné přetypovat, tj. převést na jiný datový typ. Přetypování může proběhnout automaticky, například když do stejné proměnné postupně uložíme dvě hodnoty různých datových typů.
$promenna = 5;
var_dump($promenna); //int(5)
$promenna = "ahoj";
var_dump($promenna); //string(4) "ahoj"
(funkce var_dump() vypisuje informace o proměnných)
Pokud ale chceme provést vynucené přetypování, musíme před hodnotu proměnné do závorek napsat datový typ, na který ji chceme převést (tzv. type casting).
$promenna = 42;
var_dump($promenna); //int(42)
$promenna = (string)42;
var_dump($promenna); //string(2) "42"