Káždý program, každého programovacího jazyka potřebuje pracovat s hodnotami. Hodnoty se ukládají do proměnných. Proměnná obsahuje jméno a hodnotu. Typ proměnnése určuje hned po její deklaraci, to je rozdíl oproti jiným jazykům, kdy se typ určuje například na začátku programu.
Každá proměnná má jen jeden název, který musí vždy začínat znakem dolaru($). Mezi názvem a dolarem nesmí být mezera, může za ním následovat jen písmena a-z nebo podtržítko. Nesmí začínat číslem a ani jiným znakem. Desetinná čárka je zde nahrazena tečkou! (jako skoro ve všech programovacích jazycích) Řetězce se uzavírají do uvozovek nebo do apostrofů.
Jak už bylo napsáno výše, deklarace se provádí následujícím způsobem, kdy jméno proměnné následuje bezprostředně za znakem $. Přiřazením hodnoty do proměnné se automaticky změní její typ.
$Jmeno = "mocnina" $Cislo = 4
| Typ: | Název: | Komentář: |
|---|---|---|
| Logický typ | Boolean | Zná 2 hodnoty a to - TRUE(pravda) a FALSE(nepravda) |
| Celočíselný typ | Integer | Uchovává celá kladná i záporná čísla, samozřejmě i nulu |
| Realné číslo | Real nebo Float | Uchovává čísla s přesností na 14 desetiných míst. Tvar čísla 23.2(používá se zde desetinná tečka!) |
| Řetezec | String | Uchovává řetězce znaků. |
$Jmeno = "Lukas" //deklarace <?php echo $Jmeno;?> //vypíše hodnotu proměnné Jmeno, tedy Lukas
PHP dodržuje velikost písmen, tedy proměnná není $Jmeno není stejná jako proměnná $jmeno
|
Nový typ (vpravo) Původní typ (dole) |
String |
Integer |
Real |
Boolean |
|---|---|---|---|---|
| String |
|
Začíná-li číslem toto číslo, jinak nula. | Začíná-li číslem toto číslo, jinak nula. | "" a "0"=false, ostatní True |
| Integer |
Převede na řetězec |
Není problém |
0=False, ostatní True |
|
| Real |
Převede na řetězec |
První integer směrem
k nule |
0.0=False, ostatní
True |
|
| Boolean |
false="" true="1" |
false=0 true=1 |
false=0.0 true=1.0 |
|
PHP si samo přetypovává proměnné, jak je vidět na dalším příkladu:
<?php $cislo=5; echo "Typ je ".gettype($cislo)."\n"; $cislo/=2; echo "Teď je typ ".gettype($cislo)."\n"; ?>
V první části je číslo=5, to vyhovuje typu integer, pak je 5 vydělena 2, tedy číslo se rovná 2,5 a proto PHP server přetypuje integer na real(float).
Když si chcete sami přetypovat proměnnou, musíte k tomu použít následující syntaxi:
<? echo (boolean)$promenna_typu_float. ?> - přetypuje float na boolean
Zjištění typu proměnné <?php echo gettype($promenna)?>