Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Proměnná typu "pole" Mezi proměnné typu "pole" patří všechny superglobální proměnné. Mezi proměnné typu "pole" patří všechny superglobální proměnné. To.

Podobné prezentace


Prezentace na téma: "Proměnná typu "pole" Mezi proměnné typu "pole" patří všechny superglobální proměnné. Mezi proměnné typu "pole" patří všechny superglobální proměnné. To."— Transkript prezentace:

1 Proměnná typu "pole" Mezi proměnné typu "pole" patří všechny superglobální proměnné. Mezi proměnné typu "pole" patří všechny superglobální proměnné. To je speciální struktura, která může v jedné proměnné obsahovat sadu hodnot. To je speciální struktura, která může v jedné proměnné obsahovat sadu hodnot. Pole má prvky - každý prvek má: Pole má prvky - každý prvek má: index nebo klíč index nebo klíč hodnotu. hodnotu.

2 Proměnná typu "pole" Pole si můžete představit např. takto: Na škole máte tři obory. Z těchto oborů můžete udělat v PHP pole například tak, že jako index bude sloužit pořadí oboru. Pole si můžete představit např. takto: Na škole máte tři obory. Z těchto oborů můžete udělat v PHP pole například tak, že jako index bude sloužit pořadí oboru. <? $obor[1]="Mechanizace a služby"; $obor[2]="Veterinářství"; $obor[3]="Zahradnictví"; ?>

3 Proměnná typu "pole" Vznikla proměnná $obor (pole), která obsahuje tři prvky, z nichž každý má svůj index (například trojku) a hodnotu (takže Zahradnictví). Vznikla proměnná $obor (pole), která obsahuje tři prvky, z nichž každý má svůj index (například trojku) a hodnotu (takže Zahradnictví). Z tohoto příkladu vidíte, že pole se v PHP zapisují jako každá jiná proměnná, pouze za názvem mají v hranatých závorkách index. Z tohoto příkladu vidíte, že pole se v PHP zapisují jako každá jiná proměnná, pouze za názvem mají v hranatých závorkách index. Toto pole je tzv. indexované. Toto pole je tzv. indexované.

4 Asociativní "pole" Někdy může ale být šikovnější rozlišit od sebe prvky pole řetězcem, čímž vznikne tzv. asociativní pole. Někdy může ale být šikovnější rozlišit od sebe prvky pole řetězcem, čímž vznikne tzv. asociativní pole. <? $obor["Mechanizace a služby"]=MEC; $obor["Veterinářství"]=VET; $obor["Zahradnictví"]=ZAH; $obor["Zahradnictví"]=ZAH;?> Obecně může být asociativní pole užitečné v případě, kdy budete chtít rozlišovat prvky podle něčeho jiného než podle čísel. Obecně může být asociativní pole užitečné v případě, kdy budete chtít rozlišovat prvky podle něčeho jiného než podle čísel.

5 Inicializace "pole" Pole v programu samozřejmě nevznikne samo od sebe. Můžete jej nastavit tak, že jeho prvkům přiřadíte postupně hodnoty. Pole v programu samozřejmě nevznikne samo od sebe. Můžete jej nastavit tak, že jeho prvkům přiřadíte postupně hodnoty. Index pole také můžete vynechat a PHP jej dosadí za vás. Index pole také můžete vynechat a PHP jej dosadí za vás. Další možnost je použít PHP funkci array, která provede totéž, ale je to mnohem kratší. Další možnost je použít PHP funkci array, která provede totéž, ale je to mnohem kratší. <? $obor[]="MEC"; $obor[]="VET"; $obor[]="ZAH"; ?>

6 Inicializace "pole" pomocí funkce array <? $obor=Array("MEC", "VET", "ZAH"); ?> Je tu nicméně jeden problém. PHP standardně čísluje pole od nuly, ne od jedničky. Je tu nicméně jeden problém. PHP standardně čísluje pole od nuly, ne od jedničky.

7 Inicializace "pole" s nastavením číslováním Číslování indexu lze nastavit i ručně. <? $obor[1]="MEC"; $obor[]="VET"; $obor[]="ZAH"; ?><? $obor=Array(1=>"MEC", "VET", "ZAH"); ?>

8 K čemu se "pole" používají Pole mohou: Pole mohou: sloužit jako seznamy sloužit jako seznamy simulovat slovníky simulovat slovníky fungovat jako kolekce prvků fungovat jako kolekce prvků pracovat jako zásobníky nebo fronty pracovat jako zásobníky nebo fronty představovat stromové struktury (prvkem pole totiž může být pole) představovat stromové struktury (prvkem pole totiž může být pole) Rozsáhlá pole mohou zabírat extrémně mnoho systémových zdrojů, zejména operační paměti. Rozsáhlá pole mohou zabírat extrémně mnoho systémových zdrojů, zejména operační paměti.

9 Příklad Z definovaného pole vypíše první a poslední záznam Z definovaného pole vypíše první a poslední záznam <? $obor[]="MEC"; $obor[]="VET"; $obor[]="ZAH"; echo $obor[0]; echo " "; echo $obor[2]; ?>

10 Příklad Vytvořte pole s deseti jmény Vytvořte pole s deseti jmény Na obrazovku nechte zobrazit všechny liché záznamy (vedle sebe oddělené čárkou) Na obrazovku nechte zobrazit všechny liché záznamy (vedle sebe oddělené čárkou) Na další řádek nechte zobrazit všechny sudé záznamy (vedle sebe oddělené čárkou) Na další řádek nechte zobrazit všechny sudé záznamy (vedle sebe oddělené čárkou)

11 Řešení <? $fronta=Array(1=>"Petr", "Pavel", "Maruška", "Eva", "Roman", "Jana", "Dana", "Martin", "Kamil", "Ondřej"); echo $fronta[1].", ". $fronta[3].", ". $fronta[5].", ". $fronta[7].", ". $fronta[9]; echo $fronta[1].", ". $fronta[3].", ". $fronta[5].", ". $fronta[7].", ". $fronta[9]; echo " "; echo $fronta[2].", ". $fronta[4].", ". $fronta[6].", ". $fronta[8].", ". $fronta[10]; ?>

12 Otázky k opakování 1. Jaké prvky má proměnná typu pole? 2. Jaké typy polí znáte? 3. Jak se nazývá funkce pro inicializace pole? 4. K jakým účelům se pole používají?

13 Použité zdroje BLÁBOLIL, R. Informační a komunikační technologie. 3. rozšířené vydání. České Budějovice: KOPP, 2011. str. 407 BLÁBOLIL, R. Informační a komunikační technologie. 3. rozšířené vydání. České Budějovice: KOPP, 2011. str. 407 Použité obrázky: Vlastní


Stáhnout ppt "Proměnná typu "pole" Mezi proměnné typu "pole" patří všechny superglobální proměnné. Mezi proměnné typu "pole" patří všechny superglobální proměnné. To."

Podobné prezentace


Reklamy Google