Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte.
Předchozí díl - Syntaxe
Další díl - Podmínky a cykly

Úvod do PHP, 3. díl: Datové typy

image_3

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"
Zpět nahoru
krystof-spulak
Kryštof Špulák

Přes den programátor, v noci hráč...a HW specialista...a grafik...a stále programátor...zkrátka pokud to souvisí s počítačem, tak se v tom nejspíš alespoň pokusil vrtat.