PHP lektion 18
En numerikst indexerad array är lätt att loopa igenom för att hämta olika element, något svårare blir det med en associative array. Jag visar tre exepel.
<?php
// Exemplet visar hur man kan loopa igenom en associative array
$hälsningsfras = array ("engelska" => "Hallo!", "fanska" => "Salut!", "spanska" => "Digame!", "svenska" =>"Hej!");
$exempel = each ($hälsningsfras){
echo
$exempel["key"]."<br>";
echo $exempel["value"];
}
// Tyvärr hittar nu funktionen each bara den första hälsningfrasen
?> |
Vi får skriva om scriptet med en while-loop
<?php
// Exemplet visar hur man kan loopa igenom en associative array
$hälsningsfras = array ("engelska" => "Hallo!", "fanska" => "Salut!", "spanska" => "Digame!", "svenska" =>"Hej!");
while ($exempel = each ($hälsningsfras)){
echo $exempel["key"]."<br>";
echo $exempel["value"]."<br>";
}
// Nu kan vi loopa igenom hela arrayen och hitta alla element
?> |
Vi kan bygga ut scriptet ytterligare och byta ut de förvalda key och value genom att skriva följande:
<?php
// Exemplet visar hur man kan loopa igenom en associative array
$hälsningsfras = array ("engelska" => "Hallo!", "fanska" => "Salut!", "spanska" => "Digame!", "svenska" =>"Hej!");
while (list($språk, $fras) = each ($hälsningsfras)){
echo $språk."<br>";
echo $fras."<br>";
}
?>
|
Nu kan vi snygga till scriptet ytterligare genom t.ex:
<?php
// Exemplet visar hur man kan loopa igenom en associative array
$hälsningsfras = array ("engelska" => "Hallo!", "fanska" => "Salut!", "spanska" => "Digame!", "svenska" =>"Hej!");
while (list($språk, $fras) = each ($hälsningsfras)){
echo "På $språk säger vi '$fras' som en vanlig hälsningsfras<br>";
}
?> |
Lägg märke till att vi endast kan skriva enkla citattecken för att inte få PHP-tolken lämna strängen.
Och får följande resutat i webbläsaren:

