Trpaslík a pole

Předchozí: o proměnných a trpaslíkových šuplíkách (2).

Pokud jste vstoupili přímo na tuto stránku, vysvětlení analogie s trpaslíkem najdete zde.

Ačkoli by se to z nadpisu mohlo tak zdát, nebudeme posílat trpaslíka na latifundie, ale zůstaneme u jeho skříně se šuplaty.

Některá ta šuplata mají v sobě další přihrádky. Každá má buď číslo, nebo název - jak je libo. Když chceme trpaslíka poslat do konkrétní přihrádky, musíme mu sdělit název šuplíku a pak ještě pojmenovat přihrádku v té dané zásuvce.

Narozdíl od šuplíků, které nemají jméno, dokud jim nějaké s trpaslíkovou pomocí nedáme, jsou přihrádky předem očíslované; pokud se nám ta čísla nelíbí, můžeme poprosit trpaslíka, aby i přihrádkám dal jména.

Šuplík s přihrádkami je pole, přihrádky jsou prvky pole, jejich čísla nebo jména jsou indexy, obsah přihrádek je hodnota prvku pole.

Nenapadá mě, jak to zakomponovat do trpasličí analogie; ale vezměte prosím na vědomí, že první přihrádka v šupleti má od trpaslíka číslo 0. Je to důležité a je to častá chyba, když na to zapomenete ;-)

Příklad

Šuplata s přihrádkami využijeme na uskladnění nějakých vhodných informací. Třeba - druhy zvířat:

trpaslíčku,
- vezmi šuplík s přihrádkami, pojmenuj ho zvirata
- a dej do jednotlivých přihrádek "kočka", "pes", "slon", "blecha"
- a teď šuplík projdi a postupně mi napiš, co máš v přihrádkách.

Překládáme trpaslíčkovi

Nejdřív si pro lepší orientaci prosvištíme slovíčka: array = "pole", foreach = "pro každý (prvek)"; index je jméno přihrádky, hodnota je obsah přihrádky.

A teď přeložíme výše uvedené pokyny do trpaslíčkovy mateřštiny:

<?php
$zvirata = array ("kočka", "pes", "slon", "blecha");
foreach ($zvirata as $index => $hodnota) {
   echo "pod číslem ".$index." je uloženo: ".$hodnota."<br />";
}
?>

Pro ty líné jsem opět připravila ukázku - jak to dopadne, když to trpaslík provede, a co jsme mu to vlastně do obálky tentokrát připravili.

Jiný příklad

A jak by to bylo, kdybychom chtěli i ty přihrádky pojmenovat podle svého? Podíváme se na to a zkusíme tentokrát simultánní překlad:

<?php
$dny = array ("pondělí" => "služební cesta", "úterý" => "nákup", "středa" => "kino", "čtvrtek" => "kurs", "pátek" => "návštěva", "sobota" => "výlet", "neděle" => "odpočinek");

trpaslíčku, vezmi šuplík s přihrádkami, pojmenuj ho dny, první přihrádku pojmenuj pondělí a dej do ní "služební cesta", druhou přihrádku pojmenuj úterý a dej do ní "nákup", třetí přihrádku… (bystrý čtenář jistě chápe, jak to bude dál, a jiní tady nejsou)

foreach ($dny as $den => $program) {

trpaslíčku, vezmi si pomocné šuplíky den a program;teď vezmi šuple dny a u každé naplněné přihrádky udělej tohle: název přihrádku dej do šuplíku den, obsah přihrádky dej do šuplete program

   echo $den.": ".$program."<br />";

Teď nám napiš obsah šuplíku den a program.

}

To je vše cos měl udělat pro jednu přihrádku; pomocný šuplíky můžeš vysypat a pokračuj, dokud máš nějaké plné přihrádky v tomhle šupleti.

echo "A co že to je v úterý? aha, ".$dny['úterý'];

A teď nám napiš to, co máš v šuplíku dny, v přihrádce úterý.

?>

Ten poslední příkaz tam je jako ukázka toho, jak trpaslíčkovi ukázat jednu konkrétní přihrádku neboli jeden prvek pole, protože jinak jsme zatím pole jen procházeli od začátku do konce.

A ještě nezbytná ukázka v praxi a její PHP skript. V tom skriptu si všimněte, jak je možné jen za pomoci odřádkování (které ničemu nevadí) zpřehlednit skript a takový dlouhý řádek, kterým je např. to zadávání sedmi indexů a hodnot.

Ještě něco málo k syntaxi neboli správnému "pravopisu"

Tady v pohádce o trpaslíkovi se nechci a nebudu zabývat detaily správné syntaxe PHP. Pamatujte na středníky za příkazy, pamatujte na to, že každá otevřená závorka musí být někde zavřená, stejně jako uvozovky nebo apostrofy jsou párové znaky. Souhrn příkazů je uzavřen do složených závorek (viz výše např. sestava příkazů pro foreach). Konkrétní požadavky na syntaxi PHP určitě najdete v úvodu každé knížky pro začátečníky v PHP a jistě i na netu.


Mozilla Firefox: Prohlížeč, kterému můžete věřit
píše -dis- bb(zavináč)choltice.eu