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:

 

Fördjupning

Logga
 
Kontakt | Länka till oss | Min Blogg | Bohuslän   | Mötesmakarna