2. Lekcia – Polia a ostatné premennéDnes si trochu povieme o poliach a ostatných premenných. Čo je to vlastne pole?
Predstavme si, že máme nejaké poradie v rade, a to potrebujeme riešiť premennými:
Kód:
<?php
//stary neefektivny zápis
$rad1 = "Marek"
$rad2 = "Jano"
$rad3 = "Martin"
$rad4 = "Peto"
// pouzitie polí
$rad[1] = "Marek"
$rad[2] = "Jano"
$rad[3] = "Martin"
$rad[4] = "Peto"
?>
Rozdiel je iba v tom, že použijeme hranaté zátvorky a číslo, poprípade textový reťazec:
Kód:
<?php
$vek["Marek"] = 20;
$vek["Jano"] = 18;
$vek["Martin"] = 16;
$vek["Peto"] = 25;
?>
A potom ho pomocou echo vypíšeme:
Kód:
<?php
echo $vek["Peto"];
?>
Samozrejme môžeme pre čísla použiť aj metódu Array a to nasledovne:
Kód:
<?php
$rad=Array("Marek", "Jano", "Martin", "Peto");
?>
V tomto prípade nemáme nastavené číslovanie, a PHP začína štandardne od 0, aby sme začali od 1 musíme vložiť:
Kód:
<?php
$rad=Array(1=>"Marek", "Jano", "Martin", "Peto");
?>
Samozrejme môžeme začať od hociakého čísla, napr. 18:
Kód:
<?php
$rad=Array(18=>"Marek", "Jano", "Martin", "Peto");
?>
Výpis je štandardne cez echo:
Kód:
<?php
echo $rad[18];
?>
Tieto príkazy majú využitie v rôznych aplikáciách ako registre, lexikóny a pod...
Definovanie premennýchPomocou PHP sa dajú definovať aj stále premenné, ktoré sa nebudú dať ďalej upravovať ako:
Kód:
<?
define ("vek", "20");
echo "Máš ".vek." rokov";
?>
Define sa štandardne používa ako define (nazovpremennej, hodnota);
Zmena typu premennej
Niekedy potrebujeme aj zmeniť typ premennej, napríklad z desatinného čísla na celé.
Máme teda desatinné číslo 4.8 a potrebujeme ho zmeniť na 4:
Kód:
<?
$des_cislo = 4.8;
echo "Mam desatinne cislo: ".$des_cislo."<br />";
echo "Na cele cislo to je: ".(int)$des_cislo."<br />";
echo "Ale premenna stale zostava: ".$des_cislo;
?>
Z príkladu vidíte, že premenná zostáva nezmenená, ale čo ak ju potrebujeme zmeniť nastálo:
Kód:
<?
$des_cislo = 4.8;
echo "Mam desatinne cislo: ".$des_cislo."<br />";
settype($des_cislo, "int");
echo "Na cele cislo to je: ".$des_cislo."<br />";
echo "Ale premenna sa zmenila: ".$des_cislo;
?>
Použijeme príkaz settype (premenna, datovy typ), pričom sa nám premenná mení nastálo.
poskúšajte si príklady...