Najnovšie módy
Najnovšie vzhľady
Anketa
Pri výbere hostingu...







Musíte byť prihlásený, aby ste mohli hlasovať.
PHP - Operátory a premenné
Takže čo sú vlastne operátory?
Ak napíšem príklad 2+3, tak je to perfektný príklad na operátor, ktorý je v tomto prípade znak + ktorým označujeme matematickú operáciu sčítania. Čiže je to znak určujúci dajakú operáciu. V PHP sa používajú nasledovné základné operátory (logickými sa budeme zaoberať neskôr):

Sčítanie +
Odčítanie -
Násobenie *
Delenie /
Priradenie =
Spájanie . - bodka


Čo sú premenné?
Ak ste dávali pozor na hodine matematiky, viete, že premenná zastupuje určitú hodnotu, ktorú jej priradíme... ale radšej nechajme suchú teóriu a ukážme si všetko na príkladoch ;)

Ako vytvoríme premennú? Ako jej nastavíme určitú hodnotu?
Tak najprv si ukážme, ako vytvoríme premennú

GeSHi: PHP
  1. $premenna1;
  2. $premenna2;
  3. $premenna3; $premenna4;
Vygenerované za 0.002 sekúnd, používate GeSHi 1.0.7.20

Ako to vidno na príkladoch, platia určité pravidlá, ale nebojte sa, nič zložitého ;) Najdôležitejšie je, že server musí z dakade vedieť, že to má byť premenná a nie dajaký kód. Preto pred menom premennej musíme uviesť znak $ (dolár). Ďalej nemôžeme v názve používať diakritiku a zo znakov len _ (podčiarknutie) a prvý znak nemôže byť číslo. Ďalej nepoužívajte za názvy premenných $GLOBALS, $_SERVER, $_GET, $_POST, $_FILES, $_REQUEST, $_SESSION, $_ENV, $_COOKIE, $php_errormsg, $HTTP_RAW_POST_DATA, $http_response_header, $argc či $argv, to sú premenné ( valstne polia, budem o nich písať neskôr) obsahujúce údaje (zo) serveru. Správne sú napríklad premenné
$x , $x5 , $DOBss , $daco , $nazov_zviacerych_slov , $_abc , $ABC
ale tieto sú nesprávne
$dačo, $viacero slov, premenná, $2011, $DOBss&Denoy
Ďalej ešte chcem pripomenúť, že jazyk PHP (tým pádom aj premenné) sú tzv. Case sensitive (ang. case = veľkosť písma [medzi inými]), čiže $Premenná neni to isté ako $premenná, preto je moja osobná rada, používať len malé, alebo len veľké znaky aby ste potom nemuseli hľadať, čo ste ako písali ;) Ako aj echo, aj vytváranie (a aj ďalšie operácie s premennými) je príkaz a preto ho musíme ukončiť stredníkom (bodkočiarkou), ináč dostaneme tak milované errory :D Príkazov môže byť v jednom riadku hocikoľko, ale kvôli prehliadnosti ich dávajte na jeden riadok len jeden ;) Ale tým že sme vytvorili premennú, ešte sme koleso nevynašli, je nám vlastne na nič, lebo nemá žiadnu hodnotu, tak si poďme ukázať, ako jej dajakú nastaviť!

GeSHi: PHP
  1. $a = 5;
Vygenerované za 0.001 sekúnd, používate GeSHi 1.0.7.20

Týmto sme nastavili premennej $a hotnotu 5, čiže keď dakde napíšeme $a, bude to mať rovnaký efekt, akoby sme napísali 5. Ale premenným môžeme priradiť aj inú hodnotu, napr.

GeSHi: PHP
  1. $a = 3.1415;
  2. $b = "Dajaký text";
  3. $c = '<a href="google.sk">link na Google</a>';
  4. $d = "<a href=\"zoznam.sk\">link na Zoznam</a>";
Vygenerované za 0.004 sekúnd, používate GeSHi 1.0.7.20

Pri desatinných číslach používane za desitinnú čiarku bodku a pri texte či HTML platia rovnaké pravidlá ako pri Vypisovaní. A ak už vypisovanie, ako ich vypíšeme? Jednoducho!

GeSHi: PHP
  1. $a = 3.14;
  2. $b = "Dajaký text";
  3. $c = '<a href="google.sk">link na Google</a>';
  4. $d = "<a href=\"zoznam.sk\">link na Zoznam</a>";
  5. $e = "e";
  6. $f = "f";
  7. echo $a;
  8. echo $b.$c;
  9. echo "<br />".$d."<br />";
  10. echo $e, $f;
Vygenerované za 0.011 sekúnd, používate GeSHi 1.0.7.20

Toto nám vypíše
3.14Dajaký textlink na Google
link na zoznam
ef
Ako môžete vidieť na prvom príklade, ak vypisujeme jednu premennú, tak proste namiesto textu uvedieme premennú. Ak však už chceme spájať viacero premených či premennú s textom (alebo HTML), tak používame operátor bodku. Ak chceme vypísať viacero premenných naraz ale nepripájame k nim žiadny text, tak ich môžeme oddeliť aj čiarkou.

Teraz si ukážme prácu s rôznymi operátormi

GeSHi: PHP
  1. $a = 20;
  2. $b = 2;
  3. $c = $a-5; // 20-5
  4. $d = $b+1; // 2+1
  5. $e = $a/$b; // 20/2 (deleno!)
  6. $f = $a*$b; // 20*2
  7.  
  8. $b = $b+5; // 2+5 = 7
  9. $a = $a-10; // 20-10 = 10
  10. $b = $b*5; // 7*5
  11. $a = $a/4; // 10/4 (deleno!)
Vygenerované za 0.009 sekúnd, používate GeSHi 1.0.7.20

Všetko je okomentované, ale posledné 4 príklady sa asi mnohým zdajú príliš zložité a sa určite pýtajú:,,Nedalo by sa to dajak zjednodušiť?" A odpoveď je áno, tvorcovia jazyka PHP na nás mysleli a uľahčili nám život ďaľsími operátormi, ale radšej si ich ukážme na príkladoch ;)

GeSHi: PHP
  1. $a = 5;
Vygenerované za 0.001 sekúnd, používate GeSHi 1.0.7.20

$b = 10;
$c = 3;
$d = 20;
$e = "text";

$a += 3; // $a = $a+3
$b -= 2; // $b = $b-2
$c *= 4; // $c = $c*4
$d /= 5; // $d = $d/5
$e .= " a pridaný text"; // $e = $e." a pridaný text"
Čiže ak chceme k premennej $a priradiť jeho honottu zvýšenú o 3, tak nemisíme rozpisovať že $a = $a+3;, ale stačí nám napísať $a += 3;, čo platí pri každej operácií, ako aj pri pripájaní.

Dodatok - nech vás nezmýli, že som druhý operátor stále udával číslo - môžu byť oba premenné, napr. $c = $a/$b; či $c /= $a;

No a očakávané domáce úlohy! :D
1.
Vypíšte nasledujúce:
červený text
zelený text
ale podmienka je, že farby uložíte do premenných =)

2. Vypíšte 1. až 5. mocninu čísla 2 takto:
Mocniny čísla 2: 2, 4, 8, 16, 32, ...
Ale podmienkou je, že počítanie necháte na počítač, výsledky budete ukladať do premennej a príkazy čo najviac zjednodušíte =)

Dodatok - riešenia zverejním v DODATKU k Premenným, keďže zatiaľ nemám času robiť BB kód na tzv. "Dropdown panel" (otvárací)... za pochopenie ďakujem ;)
Komentáre
#1 | 515 dňa 03.11.2011 16:17:13
GeSHi: PHP
  1. $red = "<div style='color: red;'>Milujeme dobikosa! :)</div>\n";
  2. $green = "<div style='color: green;'>Milujeme dobikosa! :)</div>\n";
  3. $a = 2;
  4. $b = 2*2;
  5. $c = 2*4;
  6. $d = 2*8;
  7. $e = 2*16;
  8. echo $red;
  9. echo $green;
  10. echo "Mocniny čísla2: ".$a.", ".$b.", ".$c.", ".$d.", ".$e."...\n";
Vygenerované za 0.011 sekúnd, používate GeSHi 1.0.7.20

Neviem či to bude podľa tvojich predstáv ale nič iné ma nenapadlo :)
#2 | 3776 dňa 03.11.2011 18:31:14
ajaj, ajaj... fanatik, nie tak som myslel - len farby mali byť v premennej, a mocniny tiež újdu, ale dá sa to viecerými spôsobmi 5 ale OK 5

PS - zabudol som dodať, že riešenia budú v DODATKU, ktorý zverejním dnes alebo zajtra 5
#3 | 515 dňa 03.11.2011 20:04:38
Ja som chcel najprv cez for a if to spraviť ale to by som bol ďaleko pred článkom tak som to spravil takto 19
#4 | 4241 dňa 06.11.2011 15:48:38
GeSHi: PHP
  1. $green = "<div style='color: green'>iphpfusion</div>";
  2. $red = "<div style='color: red'>iphpfusion</div>";
  3. $a = 2;
  4. $b = 4;
  5. $c = 8;
  6. $d = 16;
  7. //vypocty
  8. $b *= $a;
  9. $c *= $b;
  10. $d *= $c;
  11. $e *= $d;
  12. echo $green;
  13. echo $red;
  14. echo "Mocniny cisla 2: ".$a.", ".$b.", ".$c.", ".$d.", ".$e."...";
Vygenerované za 0.010 sekúnd, používate GeSHi 1.0.7.20


ci?
#5 | 515 dňa 07.11.2011 16:10:22
Áno tak 19 Ale ja som ten článok ani nečítal len som to spravil tak ako ma napadlo 1
#6 | 3776 dňa 09.11.2011 19:49:28
ach krafil, prikladám ti tvoj script, okomentovaný...
GeSHi: PHP
  1. $a = 2;
  2. $b = 4;
  3. $c = 8;
  4. $d = 16;
  5. //vypocty
  6. $b *= $a; // 4*2=8 -> $b = $b*$a
  7. $c *= $b; // 8*8=64 -> $c = $c*$b
  8. $d *= $c; // 16*64=1024 -> $d = $d*$c
  9. $e *= $d; // Chyba, nemôžeš násobiť $e*$d, lebo $e neni definované
  10.  
  11. echo "Mocniny cisla 2: ".$a.", ".$b.", ".$c.", ".$d.", ".$e."...";
Vygenerované za 0.012 sekúnd, používate GeSHi 1.0.7.20


Vypíše ti to Mocniny cisla 2: 8, 64, 1024, 0... (nula kvôli chybe, PHP to ošetrí, ale error ťa neminie)
#7 | 4860 dňa 17.08.2012 19:16:45
skoda ze som tuto cast nepochopil keby ste mi to vysvetlili lepsie fanatik co? sak uz sa pozname 3 roki z naplna a s c-gamingu... skype: juraj.stefanik997
Pridať komentár
Pre pridanie komentára musíte byť prihlásený.
Hodnotenia
Musíte byť zaregistrovaný, aby ste mohli hodnotiť.

Prosím prihláste, alebo sa zaregistrujte.

Zatial nikto neohodnotil tento príspevok.