logo   Foreach()




foreach() er den kommando, der anvendes til at udpakke arrays med. Den gennemløber arrayen sekventielt med et elementsæt ad gangen, og udfører den tilknyttede funktionalitet derpå.
Den kan anvendes på to forskellige måder:


($array as $val)


Bruges når kun værdifeltet i de enkelte array-elementer skal bruges. (Typisk ved numeriske arrays).

foreach($arraynavn as $elementværdi)
{
den funktionalitet, der skal udføres
}

Identen for 'elementværdi' kan vælges frit passende til den aktuelle situation. Den vil ofte indirekte være givet på forhånd.


($array as $key => $val)


Bruges når både navn- og værdifelt i de enkelte array-elementer skal bruges. (Typisk ved associative arrays).

foreach($arraynavn as $elementnavn => $elementværdi)
{
den funktionalitet, der skal udføres
}

Identerne for 'elementnavn' og 'elementværdi' kan vælges frit passende til den aktuelle situation. De vil ofte indirekte være givne på forhånd.



Enkelt dimentionelle


Ved enkelt dimensionelle arrays foretages kun et udtræk med foreach().

ArrayforeachUddata
$traer = array("Eg", "Gran", "Bøg", "Fyr");// udskriv alle
foreach($traer as $trae)
{
echo $trae . "<br />" ;
}
Eg
Gran
Bøg
Fyr





Fler dimentionelle.


Ved fler-dimensionelle arrays indlejres en ny foreach() trinvis i den udførte funktionalitet for den anden og hver efterfølgende dimension.

ArrayforeachUddata
$biler = array(
"Engelske biler" => array("Jaguar", "Ashton Martin", "Lotus"),

"Tyske biler" => array("Audi", "VW", "BMW", "Porsche"),

"Japanske biler" => array("Toyota", "Honda", "Mitsubishi")
);
// Vis de 3 "lande"
foreach($biler as $key => $value){
echo $key;
}
Engelske bilerTyske bilerJapanske biler
// Vis alle fabrikater

foreach($biler as $key => $value){
   foreach ($value as $values){
   echo $values. "<br />";
   }
}
Jaguar
Ashton Martin
Lotus
Audi
VW
BMW
Porsche
Toyota
Honda
Mitsubishi
// Vis alle lande og fabrikater

foreach($biler as $key =>$value){
echo $key . "<br />";
   foreach ($value as $values){
   echo $values - "<br />";
   }
}
Engelske biler
Jaguar
Ashton Martin
Lotus
Tyske biler
Audi
VW
BMW
Porsche
Japanske biler
Toyota
Honda
Mitsubishi


ArrayforeachUddata
$array = array(
   "Youtube" => array(
      "Video1" => array(
         "Titel" => "Titlen på video 1, Youtube",
         "Varighed" => "Længden på video 1, Youtube",
         "Beskrivelse" => "Beskrivelsen på video 1, Youtube"
      ),
      "Video2" => array(
         "Titel" => "Titlen på video 2, Youtube",
         "Varighed" => "Længden på video 2, Youtube",
         "Beskrivelse" => "Beskrivelsen på video 2, Youtube"
      ),
      "Video3" => array(
         "Titel" => "Titlen på video 3, Youtube",
         "Varighed" => "Længden på video 3, Youtube",
         "Beskrivelse" => "Beskrivelsen på video 3, Youtube"
      )

   ),
   "Metacafe" => array(
      "Video1" => array(
         "Titel" => "Titlen på video 1, Metacafe",
         "Varighed" => "Længden på video 1, Metacafe",
         "Beskrivelse" => "Beskrivelsen på video 1, Metacafe"
      ),
      "Video2" => array(
         "Titel" => "Titlen på video 2, Metacafe",
         "Varighed" => "Længden på video 2, Metacafe",
         "Beskrivelse" => "Beskrivelsen på video 2, Metacafe"
      ),
      "Video3" => array(
         "Titel" => "Titlen på video 3, Metacafe",
         "Varighed" => "Længden på video 3, Metacafe",
         "Beskrivelse" => "Beskrivelsen på video 3, Metacafe"
      )

   )
);
foreach($array as $arr) {
    foreach($arr as $vid) {
       echo $vid['Titel'].'</br>';
    } }
Titlen på video 1, Youtube
Titlen på video 2, Youtube
Titlen på video 3, Youtube
Titlen på video 1, Metacafe
Titlen på video 2, Metacafe
Titlen på video 3, Metacafe


ArrayforeachUddata
$arrBooks = array(
   'Comic' => array(
      'Title'=>'Superman',
      'Author'=>'Jerry Siegel and Joe Shuster',
      'Publication Date' => '1938'),

   'Science Fiction' => array(
      'Title'=>'Dune',
      'Author'=>'Frank Herbert',
      'Publication Date'=>'1965'),

   'Fantasy' => array(
      'Title'=>'The Hobbit',
      'Author'=>'J.R.R. Tolkien',
      'Publication Date'=>'1937'),

   'Horror' => array(
      'Title'=>'Carrie',
      'Author'=>'Stephen King',
      'Publication Date'=>'1974')
);
foreach ($arrBooks as $obj_key =>$book)
{
echo "$obj_key Book:
";
   foreach ($book as $key=>$value){
   echo "$key: $value
";
   }
echo "<br/ >";
}
Comic Book:
Title: Superman
Author: Jerry Siegel and Joe Shuster
Publication Date: 1938

Science Fiction Book:
Title: Dune
Author: Frank Herbert
Publication Date: 1965

Fantasy Book:
Title: The Hobbit
Author: J.R.R. Tolkien
Publication Date: 1937

Horror Book:
Title: Carrie
Author: Stephen King
Publication Date: 1974




















x
x