Lekce 2: Práce s proměnnými
- Tato lekce vás naučí, jak zacházet a používat proměnné tak, abychom si ulehčili práci. Sami potom uvidíte, že se bez nich nedokážete obejít stejně tak, jako v jakémkoli vyšším jazyce.
- Každá proměnná v PHP musí začínat znakem dolaru $. A pro názvy proměnných platí určitá pravidla.
$jmeno = "Karel"; $prijmeni = "Novák"; $vek = 27; // u cisla se nemusi pouzivat uvozovky ani apostrofy- Pan Karel Novák, kterému se předem omlouvám za zneužití jména je uložený v našich proměnných.
// prvni moznost pomoci uvozovek echo "Pan $jmeno je obchodník"; echo "A jeho přijmení je $prijmeni, což se k němu moc nehodí"; echo "Bohužel je starý $vek let"; // druha moznost pomoci uvozovek, ale s promennou mimo string (doporuceny) echo "Pan ".$jmeno." je obchodník"; echo "A jeho přijmení je ".$prijmeni.", což se k němu moc nehodí"; echo "Bohužel je starý ".$vek." let"; // treti moznost pomoci apostrofu echo 'Pan '.$jmeno.' je obchodník'; echo 'A jeho přijmení je '.$prijmeni.', což se k němu moc nehodí'; echo 'Bohužel je starý '.$vek.' let'; // cisty vypis pouze promenne echo $jmeno;- Tak takto by to nějak mělo vypadat. Jen u první možnosti bych poupravil, že nesmíte za konec proměnný dát znak typu (a-z, A-Z, 0-9 a _), protože to bude brát jako součást proměnný!
// promenne (string je schvalne, jinak cisla bez uvozovek)
$osaX = "1024";
$osaY = "768";
$rozliseni = "Rozlišení je: ${osaX}x$osaY"; // Rozlišení je: 1024x768
- U první proměnné, jsme museli použít tvar jako ${osaX}, protože další znak byl x a ten by se spojil s proměnnou.
Další proměnná $osaY už může být normálně, protože jakýkoliv znak před dolarem $ nevadí.// nase nadeklarovane promenne $a = 4; $b = 2; $a = $a + $b; // $a bude 6 $a = $a - $b; // $a bude 2 $a = $a * $b; // $a bude 8 $a = $a / $b; // $a bude 2 $a = $a . $b; // $a bude 42 $a = $a % $b; // $a bude 0 (jedna se o modulo - zbytek po deleni (4/2 = 2 = 2/2 = 0)) // lze pouzit i kratsi zapis, tento zapis funguje pro vsechny operatory $a += $b; $a -= $b; $a *= $b; $a /= $b; $a .= $b; $a %= $b; // inkrementace + pre-inkrementace a dekrementace + pre-dekrementace // zkraceny zapis je ++ nebo -- jinak $a = $a + 1 (nebo - 1) echo $a++; // vypise 4, ale dalsi vypis uz bude 5 echo $a--; // vypise 4, ale dalsi vypis uz bude 3 echo ++$a; // vypise 5 (dalsi vypis bude 6,7,8,9...) echo --$a; // vypise 3 (dalsi vypis bude 2,1,0,-1...)- Tohle jsou základní operátory se kterými budeme často pracovat, ale pro podmínky, ke kterým se dostaneme nejspíše v další lekci jsou trochu jiné. Ale s těmi vás seznámím až tam.
// prvni moznost - vse v uvozovkach (doporucuji)
$celeJmeno = "$jmeno $prijmeni ($vek)"; // Karel Novák (27)
// predchozi tvar lze zapsat i takto
$celeJmeno = $jmeno." $prijmeni ($vek)";
// dalsi tvar je, ze v uvozovkach mame pouze text bez promennych
$celeJmeno = $jmeno." ".$prijmeni." (".$vek.");
- Stejně jako v jiných programovacích jazykách, tak i zde v PHP je možné proměnnou přetypovat na jiný typ.
- PHP má tu výhodu, že podle obsahu proměnné si automaticky určí o jaký typ se jedná již při deklaraci, takže přetypování není většinou potřeba,
ale může se v nekterých případech hodit.
- Dělá se to naprosto stejně jako všude jinde, takže máme tuto proměnnou
$cislo = 12.58; // 12.58- Pokud by jsme ji vypsali, tak nám vypíše double nebo float hodnotu (tyto dva typy jsou s desetinnou čárkou), čili to, co vidíme. Ale my potřebujem, aby to vypsalo celé číslo, takže přetypujeme na int.
$cislo = (int) 12.58; // 12Pozor: Přetypováním ztratíte vše, za desetinnou čárkou bez zaokrouhlení!
$string = (string) 125; // "125" $bool = (bool) 125; // 1 $bool = (bool) -5; // 1 $bool = (bool) 0; // 0 $double = (double) 5.4514808048496084980840; // 5.4514808048496 (max 13 mist za des. carkou) $float = (float) 5.4514808048496084980840; // 5.4514808048496 (max 13 mist za des. carkou) $e = 57 / 2; // 28.5 $e = (int) $e; // 28 $e = (int) 57 / 2; // 28.5 $e = (int) (57 / 2); // 28- Jak vidíte, tak rozdíl mezi typem float a double v PHP neni žádnej. Ve skutečnosti typ double je větší a přesnější.
1) Vytvořte si 3 proměnné, kde dvě budou číslo a zkoušejte různé operátory a spojování proměnných. Pak všechno vypište.