Azda v každom programovacom jazyku je akási obdoba cyklu for. V PHP a v pár iných je aj verzia s malým vylepšením - foreach. V článku sa pokúsim uviesť príklady, prípady použitia a výhody cyklu foreach.
Tento cyklus v podstate zjednodušuje zápis "for". Je veľmi silnou zbraňou programátora v prípade, že potrebujeme prechádzať a spracovávať nejaké polia.
Nasledujúci kód je klasická iterácia hodnotami poľa cyklom for:
// začiatok
$pole = array(0=>"Milan", 1=>"Adam", 2=>"Eva");
for ($i=0; $i< count($pole); $i++)
{
print "Meno ".($i+1).": ".$pole[$i]."
";
}
// koniec
Výpis:
// začiatok
Meno 1: Milan
Meno 2: Adam
Meno 3: Eva
// koniec
To isté môžeme zapísať aj za pomoci foreach:
// začiatok
$i=0;
foreach($pole as $val)
{
$i++;
print "Meno ".$i.": ".$val."
";
}
// koniec
Zápisom sa automaticky prechádzali hodnoty poľa a zapisovali do premennej $val . Všimnite si, že sme v tomto prípade nepoužívali kľúče - indexi poľa. Pre ich výpis sme použili inkrementovanú premennú $i . Cyklus foreach má aj svoju rozšírenú podobu, ktorá pracuje rovnako aj s kľúčmi aj hodnotou prvku v poli:
// začiatok
foreach($pole as $key => $val)
{
print "Meno ".($key+1).": ".$val."
";
}
// koniec
Tento kód teda vypíše rovnaký výsledok. Každou možnou iteráciou sa do premennej $key uloží hodnota indexu prvku a do premennej $val už potom samotná hodnota prvku poľa. Tento zápis je veľmi často používaný pri spracovávaní asociatívnych polí. Umožňuje abstraktne spracovať aj kľúče aj hodnoty poľa.
Nasledujúci príklad vypíše odkazy použitím kľúčov a hodnôt preddefinovaného poľa:
// začiatok
$links = array(
'http://www.milanvojta.sk' => 'Milan Vojta',
'http://www.google.sk' => 'Google',
'http://www.drupal.sk' => 'Drupal',
);
foreach($links as $address => $title)
{
print "<"."a href=".$address.">".$title."
";
}
// koniec
Dúfam, že som vám priblížil použitie tohoto cyklu a možno aj vnukol nejaký nápad ako a kde ho využiť.
Komentáre
Poslať nový komentár