Kapitola 4-Tutoriál k PHP a MySQL: Premenné

Kapitola 4-Tutoriál k PHP a MySQL: Premenné

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
?>

One thought on “Kapitola 4-Tutoriál k PHP a MySQL: Premenné

  1. 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??

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *