Premenné niesu nić iné než len názov pre nejakú hodnotu,teda pomenovanie miesta,do ktorého môžeme uložiť ľubovoľnú hodnotu. V PHP každá hodnota začína znakom dolára $ ,za ktorým následuje meno premennej, napríklad $ahoj predstavuje premennu z menom ahoj
Predstavte si že máte urobiť veľa výpočtov z rovnakým číslom,napríklad z 123 456 789. Napríklad chceme vedieť koľko je 123 456 789 x 123 456 789. To sa dá urobiť napríklad takto:
<?php echo 123456789 * 123456789; ?>
Ako sme si už vravely,php dokáže matematické operácie takže si vypočíta 123456789 x 123456789 a výsledok nám zobrazí echo: http://www.pocitacovyexpert.6f.sk/php/tut/kap1/kap03_13.php Ak píšete stále dookola rovnaké číslo,môže to byť celkom únavne. Ako riešenie existuje priradenie mena daného čísla. Napríklad číslu 123456789 pridáme meno x. Urobíme to takto:
<?php $x = 123456789; echo $x * $x; ?>
Výsledok bude rovnaký ako keď sme zadali 123456789 * 123456789 Tento príklad funguje úplne rovnako,ako v predchozdom príklade. Funguje to tak,že najpr sa číslo nejak pomenuje,v našom prípade x. V PHP sa takéto meno zapísuje vždy zo znakom dolára $ pred ním,takže to vyzerá ako $x Aby sme lepšie pochopili,podrobnejšie si to rozoberieme: Riadok
$x = 123456789;
Tento prvý riadok zdeľuje to,že vytvárame meno x pre ćíslo 123456789. V PHP sa to nazýva,že vytvárame premennu s názvom x,ktorá bude obsahovať číslo 123456789. Na ďašom riadku PHP:
echo $x * $x;
neskôr toto meno x,teda premennu používame. Hneď ako PHP uvidí napísane $x,tak vie že ma dosadiť číslo,ktoré je uložené pod menom (už to budeme volať len profesionalne premennu) x. PHP vtedy všade dosadi číslo 123456789 a zápis $x * $x a tak to prebehne rovnako ako keby tam bolo 123456789 * 123456789.
Takže výsledok http://www.pocitacovyexpert.6f.sk/php/tut/kap1/kap03_14.php
Čo su to premenné?
Ako sme si ukázali v predchodzej časti,premenné niesu nić iné než len názov pre nejakú hodnotu,teda pomenovanie miesta,do ktorého môžeme uložiť ľubovoľnú hodnotu. V PHP každá hodnota začína znakom dolára $ ,za ktorým následuje meno premennej, napríklad $ahoj predstavuje premennu z menom ahoj. Základním a najdôležitejším znakom každej premennej je,že obsahuje nejakú hodnotu. Vkladanie hodnôt do premenných sa nazýva priraďovanie hodnôt premenným.
Jednoduché priradenie čísla premennej
Každá premenná ma zmysel len vtedy,pokiaľ obsahuje nejakú hodnotu. Preto jedna zo základných vecí,ktorá sa dá z premennymi robiť,je priradiť im nejakú hodnotu. To sa robí pomocou znaku rovná sa = kde v zápisu na ľavej strane stoji premenna a na pravej strane hodnota,ktorej chceme premenne priradiť. Uvedieme si príklad,kde premennej $ahoj priradíme číslo 3 ako hodnotu:
<?php $ahoj = 3; // Premenná $ahoj teraz obsahuje ako hodnotu číslo 3 ?>
Pre lepšie pochopenie si uvedieme praktický príklad,ktorý priradi premennej s nátvom $pi hodnotu číslo 3.14
<?php $pi = 3.14; // Promenná $pi teraz obsahuje ako hodnotu číslo 3,14 ?>
Obidve spôsoby po spustení nič nevypíšu,pretože priradenie hodnoty premennej sa na vonok nijak neprejavuje.
Výpis hodnoty premennej na obrazovku
Pri predchodzich príkladoch,aj keď su funkčné a správne,tak vám nič nevypíšu. V tejto časti si ukážeme ako vypísať hodnotu na obrazovku. Pokiaľ chcete vypisať hodnotu premennej,jednou z možnosti je použiť nám už známy príkaz echo. Použitím príkazu echo si ukážeme,že priradíme premennej $eva hodnotu číslo 7 a hneď potom príkazom echo sa vypíše hodnota tejto premennej.
<?php $eva = 7; // Promenná $eva teraz obsahuje ako hodnotu číslo 7 echo $eva; // Výpis hodnoty promennej $eva, vypíše: 7 ?>
výsledok http://www.pocitacovyexpert.6f.sk/php/tut/kap1/kap03_17.php
Opakované priradenie hodnoty premennej
Dôležitou hodnotou premenných je fakt,že hodnota,ktoru obsahujú v nich neni uložená nastálo,ale môžete ju kedykoľvek zmeniť. Pokiaľ chcete hodnotu premennej zmeniť,stačí znovu použiť priradenie hodnoty premennej,ako napríklad v následujucom príklade:
<?php $x = 10; // Promenná $x teraz obsahuje ako hodnotu číslo 10 $x = 100; // Promenná $x teraz obsahuje ako hodnota číslo 100 ?>
Pre lepšie pochopenie je tu ešte jeden príklad,kde vykonáva priradenie hodnoty premennej $y hneď trikrát:
<?php $y = 333; // Promenná $y teraz obsahuje ako hodnotu číslo 333 $y = 1; // Promenná $y teraz obsahuje ako hodnotu číslo 1 $y = 2; // Promenná $y teraz obsahuje ako hodnotu číslo 2 ?>
Obidve príklady sú veľmí jednoduché a neobsahuju príkazy pre pre výpis hodnoty premennej,takže ak si ich skusíte spusiť,nič sa neukáže. Ale pokial chcete vidieť čo sa deje,musíme tieto príklady doplniť o príkaz echo a taktiež html značku br aby sme vypísali hodnotu na nový riadok. Takže napr. prvý príklad prepíšeme takto:
<?php $x = 10; // Premenná $x teraz obsahuje ako hodnotu číslo 10 echo $x; // Vypíše hodnotu premennej $x, teda vypíše: 10 $x = 100; // Premenná $x teraz obsahuje ako hodnotu číslo 100 echo '<br />'; // Zariadi, aby sa následujúca hodnota vypýsala na další riadok echo $x; // Vypíše hodnotu premennej $x, teda vypíše: 100 ?>
Spustíme a uvidíme výsledok: http://www.pocitacovyexpert.6f.sk/php/tut/kap1/kap03_20.php
Jednoduché priradenie reťazcu premennej
Do tejto chvíľe sme priraďovali premenným len čísla. Ale nemusia mať len čísla,už ako sme spomínaly PHP pracuje aj s kúskami textu a preto je možné aby premenne obsahovaly aj text tzv. reťazce. Skúsime si príklad kde premennej $karol priradíme reťazec Toto je text:
<?php $karol = 'Toto je text'; // Premenná $karol teď obsahuje retazec "Toto je text" ?>
Ak spustíte tento príklad,znova nič neuvidíte. Preto kod doplníme o príkaz echo:
<?php $karol = 'Toto je text'; // Premenná $karol teraz obsahuje retazec "Toto je text" echo $karol; // Vypíše hodnotu premennej $karol, vypíše: Toto je text ?>
http://www.pocitacovyexpert.6f.sk/php/tut/kap1/kap03_22.php
Názvy premenných
Každá premenná ma svoj názov. Napriklad premenná %x má názov x. Teraz si vysvetlíme aké pravidlá platia pre mená premenných a čo si môžme dovoliť. Pravidlá pre tvorbu názvov premenných nieje žiadnou veľkou vedeou. V názvoch premenných môžete používať písmena,čísla a podčiarkovník _. Je ale potreba si dávať pozor aby názov premennej nezačínal číslicou. Teda $tomas, $znamka, $h1, $pocet_dni sú správne. Nesprávne sú napr. $1kolac,názov nesmie začínať číslicou. Je možné používať aj diakritiku,ale musia súhlasiť s ASCII hodnotou od 127 do 255. ASCII je spôsob,ktorý prideluje každému znaku určité číslo. Ale aj keď je to povolené,radšej to nerobte,je dobre použiť všetko bez diakritiky.
Keď premenna neexistuje
Premenná v PHP sa automatický vytvorý tím že premennej priradíme hodnotu. Takže napríklad v nasledujúcom príklade existujú len dve premenné $a a $b:
<?php $a = 20; // Premenná $a teraz obsahuje číslo 20 $b = 1; // Premenná $b teraz obsahuje číslo 1 // V tejto chvíli existuju len dve promenné // a to $a a $b, žiadne iné premenne // neexistuju. ?>
Je teda zrejme že v skriptu PHP existujú len tie názvy premenných,ktorým bola v skriptu priradená hodnota. Skúsime si teraz príklad,čo sa stane ak pomocou echa budeme chciet vypísať hodnotu ktorá neexistuje:
<?php $a = 20; // Prremenna $a teraz obsahuje číslo 20 $b = 1; // Prremenna $b teraz obsahuje číslo 1 echo $c; // Pokus o výpis neexistujucej premennej $c ?>
http://www.pocitacovyexpert.6f.sk/php/tut/kap1/kap03_23.php
Pokiaľ si skusíte spustiť uvedený príklad,môže nastať jedna z dvoch možnosti. Buď je PHP nastavený tak že nehlásy chyby a neukáže sa vam nič,alebo je PHP nastavený tak že chyby typu použitia neexistujucej premennej hlási,a tak vám PHP vypíše chybu v angličtine niečo podobne ako toto :
Notice: Undefined variable: c in c:/inet_stv/http/doc_root/a.php on line 8
Toto hlásenie je veľmi užitočné a zdeľuje všetko podstatné. Slovne spojenie Undefined variable znamená neexistujúcou premennou. Hneď za tým sa dozviete názov premennej,ktorá neexistuje v našom priprade c. Chybové hlasenie ďalej obsahuje názov súboru zo skriptu,kde taká chyba vznikla a následuje číslo riadku kde sa pokúšame zobraziť tu neexistujúcu premennu,v našom prípade na 8 riadku. Je potreba si davať aj na tie najmenšie chyby. Ak do premennej zadáte napríklad $pocet a pomocou príkazu echo budete chciet zobraziť hodnotu,ale nechtiac to napísete ako pcet,tak je to chyba a PHP vám to neschváli.:
<?php $pocet = 2; // premennej $pocet teraz obsahuje číslo 2 echo $pcet; // Pokus o výpis neexistujucej premennej $pcet, // čo vzniklo uklepnutím sa pri pisaní // premennej $pocet. ?>
http://www.pocitacovyexpert.6f.sk/php/tut/kap1/kap03_25.php
(my máme vypnuté zobrazovanie chýb,takže sa vam nič neukáže. Ak to robíte na xamppi na svojom PC chybu by vám malo vypísať)
Zrušenie premennej
V PHP môže vzniknuť veľa premenných,teda koľko len budete chcieť. Má to len jeden háčik,že každá vytvorená premenná bude existovať až do konca skriptu PHP a vy sa jej nebudete môcť nijak zbaviť. Ukážeme si ako sa takej premennej zbaviť, na to slúži konštrukcia unset za ktorou do zátvoriek napíšete premennu,ktorú chcete zrušiť. Pre ilustráciu si ukážeme píklad,kde vytvoríme premennu $a,vypíše sa jej hodnota a potom premennú $a zase samo zruší:
<?php $a = 1; // Premenná $a teraz obsahuje ako hodnotu číslo 1 echo $a; // Vypíše hodnotu prremennej $a // Vypíše: 1 unset($a); // Pomocou konstrukcie unset zrušíme premennu $a. // Od tejto chvíle premenná $a už neexistuje. echo $a; // Teraz by sme mali vypisat hodnotu premenej $a. Keďže však // premenná $a už neexistuje, pokosíme sa použít neexistujucu // premennu. // Pokiaľ je PHP nastaveno tak, aby ukazovalo chybu, vypíše // chybu: // Notice: Undefined variable: a in c:\inet_srv\http\doc_root\a.php // on line 13 ?>
Zdravim mam dotaz mam premennu z formularu kde je priradena emailova adresa teda value=“email@email.sk“ name=“osoba“ toto mi dava formular a vyhodnocuje php subor kde premennej $to priradi osoba z formularu. Tuto premennu chcem vypisat v html, snazim sa to tak ze napisem nap. Prosim zaslite mi email na adresu . Dakujem. ale email mi nevypise premennu iba ten text. Chybu nevypisuje. Vie niekto ako nato??