|
|||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
bootable [55]
commercial [7] no-commercial [42] unclassified [20] [7]
Software (10844)
|
PHP (7) - PolePHP používá samozřejmě i proměnné typu pole. Dnes si
ukážeme jak.
V PHP je kromě základních datových typů (celá čísla, desetinná
čísla, logické
hodnoty a řetězce) k dispozici i datový typ pole. To je speciální
struktura, která může v jedné proměnné obsahovat sadu hodnot. Hovoříme
o tom, že pole má prvky; každý
prvek má index nebo klíč a hodnotu. Proměnné typu pole patří k
těm věcem v PHP, které jsou v jazyce zpracovány opravdu dobře a znalost
polí Vám
pravděpodobně umožní napsat kód, který by bez nich byl delší, nebo
pomalejší, nebo méně přehledný. Představte si, že máte dejme tomu pět lidí stojících ve frontě. Z těchto lidí můžete udělat v PHP pole například tak, že jako index bude sloužit jejich "frontové pořadí". Můžete tedy napsat: <? Vznikla nám proměnná $fronta (pole), která obsahuje pět prvků, z nichž každý má svůj index (například trojku) a hodnotu (takže Maruška). Z toho
vidíme, že pole se v PHP zapisují jako každá jiná proměnná, pouze za
názvem mají v hranatých závorkách index. Indexovaná a asociativníPole uvedené výše bylo indexované, protože jeho prvky jsou určeny
indexem. Někdy může ale být šikovnější rozlišit od sebe prvky pole
řetězcem, čímž vznikne tzv. asociativní pole. <? 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. Například
existují projekty, kde se asociativní pole používají k ukládání
konfiguračních hodnot programu. Proměnná $config["max_users"] je daleko
popisnější než $config[5]. Vícerozměrná poleAby to nebylo tak úplně jednoduché, pole nemusí mít jen jeden index.
Představte si například, že byste v PHP chtěli pomocí pole popsat
postavení figurek na šachovnici před zahájením šachové partie. Protože
figurky
nestojí v jedné frontě jako lidé v našem prvním příkladu, ale jsou
naopak uspořádány na hrací ploše rozdělené do řad a sloupců, můžete
udělat něco jako: <? za což mě pochopitelně žádný šachista nemůže mít rád, protože v šachové notaci se uvádí nejprve sloupec a pak řádek a navíc sloupce se nečíslují, ale označují se písmeny. Abychom demonstrovali pružnost PHP při práci s poli a umlčeli nespokojené šachisty, přepíšeme to do následující podoby: <? Inicializace polePole v programu samozřejmě nevznikne samo od sebe. Můžeme jej nastavit tak, že jeho prvkům přiřadíme postupně hodnoty. To bylo patrné ze všech předchozích ukázek. Jde to ovšem ještě jednodušeji - index pole můžeme vynechat a PHP jej dosadí za nás. Další možnost je použít PHP funkci array, která provede totéž, ale je to mnohem kratší. Úvodní příkaz z frontou bychom tedy mohli přepsat následovně: <? nebo pomocí funkce array, což je ještě kratší: <?$fronta=Array("Petr", "Pavel", "Maruška", "Eva", "LinuxSoft tým");?> Je tu nicméně jeden problém. PHP standardně čísluje pole od nuly, ne
od jedničky. Takže, v našem příkladu by $fronta[1] vrátilo "Pavel", ne
"Petr". Aby
příklad skutečně fungoval jako ten úvodní, musíme PHP s inicializací
pole trochu pomoci - prozradíme, že nechceme číslovat od nuly, ale od
jedničky. <? Pro vypsání obsahu pole se Vám může, zejména při ladění kódu hodit
šikovná funkce print_r.
Ta prostě vypíše obsah pole do
prohlížeče. Funguje i s vícerozměrnými poli. Pozn: Ona vlastně funguje i s
čísly a řetězci. Ale používá se převážně pro pole. K čemu se pole používají
|
|
||||
KOMENTARZE | ||||
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
1. |
Pacman linux Download: 4873x |
2. |
FreeBSD Download: 9063x |
3. |
PCLinuxOS-2010 Download: 8561x |
4. |
alcolix Download: 10943x |
5. |
Onebase Linux Download: 9656x |
6. |
Novell Linux Desktop Download: 0x |
7. |
KateOS Download: 6239x |
1. |
xinetd Download: 2411x |
2. |
RDGS Download: 937x |
3. |
spkg Download: 4751x |
4. |
LinPacker Download: 9961x |
5. |
VFU File Manager Download: 3196x |
6. |
LeftHand Mała Księgowość Download: 7200x |
7. |
MISU pyFotoResize Download: 2803x |
8. |
Lefthand CRM Download: 3560x |
9. |
MetadataExtractor Download: 0x |
10. |
RCP100 Download: 3116x |
11. |
Predaj softveru Download: 0x |
12. |
MSH Free Autoresponder Download: 0x |