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().
Array | foreach | Uddata |
$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.
Array | foreach | Uddata |
$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 |
Array | foreach | Uddata |
$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 |
Array | foreach | Uddata |
$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 |
|