<< Základní informace | P H P | Operátory a výrazy >>
Proměnné v PHP
- identifikátor začíná znakem $ <alt + 36>
- za speciálním znakem následuje písmeno nebo podtržítko (první znak jména)
- ve jménu lze použít písmena, čísla, tečku, podtržítko i diakritiku (nedoporučuje se)
- v názvech nelze zaměnit malá velká písmena
- deklarace typu proměnné je automatická při zadání hodnoty
- hodnota se zadává přiřazením pomocí operátoru =
Jednoduché datové typy
Celé číslo
- Integer
- kladná a záporná celá čísla v rozsahu od -2 biliónu po + 2 bilióny včetně 0
Desetinné číslo
- Float nebo Real
- kladná i záporná čísla s přesností běžně na 14 desetinných míst
- v PHP prakticky neomezená velikost
Logický typ
- Boolean
- uchovává hodnotu "pravda" nebo "nepravda"
- zapisuje se jako TRUE a FALSE (na velikosti písmen nezáleží)
Řetězec
- String
- uchovává texty - řetězce znaků
- řetezec je znak nebo sada znaku
- v PHP prakticky neomezená délka
Příklad deklarace proměnných
<?php //logický typ $mam_malo_penez = TRUE; //celocíselný typ $plat = 10000; //desetinné císlo $disketa = 3.5; //retezec $prohlaseni = "Práve se vracím z pražského hradu! ..." ; echo $mam_malo_penez."<BR>"; echo $plat."<BR>"; echo $disketa."<BR>"; echo $prohlaseni."<BR>"; ?>
Zápis řetězců
- pro zápis je možné využít apostrofy nebo uvozovky
Apostrofy
- textový řetězec v apostrofech se vypisuje přesně podle zápisu
- apostrofy nereagují na proměnné a speciální znaky
$jmeno = 'Josef'; $text = 'Jmenuji se $jmeno \n S tímto "jménem" jsem spokojen.'; echo($text);
Výstup
Jmenuji se $jmeno \n S tímto "jménem" jsem spokojen.
Uvozovky
- narozdíl od apostrofů reagují na proměnné a speciální znaky
$jmeno = 'Josef'; $text = "Jmenuji se $jmeno \n S tímto "jménem" jsem spokojen."; echo($text);
Výstup
Jmenuji se Josef S tímto "jménem" jsem spokojen.
Uvozovky v HTML
- do řetězců je možné zapisovat HTML značky
- potíže vznikají při použití vnořených uvozovek v zápisu atributů
- uvozovky je třeba escapovat nebo střídat s apostrofy
Možnosti zápisu
// Esccapování apostrofů v html echo('Adresa <a href=\'http://info.spsnome.cz\'>InfoWebu</a>.') . "<br>"; // Escapování úvozovek v html echo("Adresa <a href="http://info.spsnome.cz">InfoWebu</a>.") . "<br>"; // Střídání apostrofů a úvozovek echo('Adresa <a href="http://info.spsnome.cz">InfoWebu</a>.') . "<br>"; echo("Adresa <a href='http://info.spsnome.cz'>InfoWebu</a>.") . "<br>";
Rozsah platnosti proměnných
Lokální proměnné
- platnost v rámci funkce
Globální proměnné
- platnost v celém skriptu
Superglobální proměnné
- platnost pro více skriptů
- slouží pro přenos dat mezi skripty
- proměnné typu pole Array
Přehled
- $_GET - Obsahuje data formuláře odeslaná metodou GET
- $_POST - Data formuláře odeslaná metodou POST
- $_REQUEST - Data formuláře odeslaná libovolnou metodou. (O $_GET, $_POST a $_REQUESTviz také kapitola o předávání dat na server).
- $_FILES - Informace o souborech nahraných na server, obvykle přes <input type="file">
- $_SERVER - Různé systémové informace. Vyzkoušejte var_dump($_SERVER);
- $_COOKIE - Nastavené cookies.
- $_SESSION - Data relace (session), pokud ji máte zahájenou.
- $GLOBALS (bez podrtžítka) - Globální proměnné. Alternativa k označování proměnných jako globální pomocí global
- ke globální proměnné $promenna je možno přistupovat pomocí $GLOBALS["promenna"].
- $_ENV - Proměnné prostředí, ve kterém PHP běží
- Podobně jako u $_SERVER je možné pomocí var_dump($_ENV); zjistit, co všechno je k dispozici.