Avatar billede Bente-Hedegaard Nybegynder
08. februar 2010 - 18:25 Der er 2 kommentarer

Php, sammenblanding af funktioner og arrays

Hej eksperter,
jeg har bøvlet lidt med dette et par timer nu
og kan ikke rigtigt finde en måde at gøre det på.

Det jeg vil have er at jeg har et array,
som indeholder nogle nøgler, eks 1, 2, 3 osv.
Hver at disse nøgler indeholder så et nyt array med noget
bruger info, navn, alder, adresse.

Jeg vil gerne have det sat sammen med en funktion
(den er nedenunder og hedder person)
Men kan ikke helt se hvordan det skal gøres,
jeg kan godt på det lavet uden at en funktion er tilknyttet,
men på den måde for jeg det udskrevet på flere forskellige linjer i stedet for en,
eller  rettere, over flere omgange

min kode til at udskrive arrayet ser sådan har ud:
<?php
$i = 1;
$danskeaviser = array(
                "bt" => array("en", "stor", "avis"),
                "ekstra" => array("hej1","hej2","hej3","hej4"),
                "line" => array("er ",4," år gammel")
                );
foreach($danskeaviser as $noegle => $forklaring){
    echo $noegle.": <br />";
    foreach($forklaring as $forklaring2){
        echo $forklaring2." :".$i++."<br />";
    };
    echo "<hr />";
    $i = 1;
};
?>

Min funktion og array ser sådan her ud,
det er den jeg gerne vil have sat til at blive udskrevet,
lidt i stil med det ovenover, bare sådan at alle 3 (navn, alder, adresse) bliver tilknyttet person funktionen:
<?php
$bruger = array(
            1 => array("Jens",42,"Glasvej 13"),
            2 => array("Peder",13,"Thisted 34")
          );

function person($navn, $alder, $adresse){
    return "Navn: ".$navn."<br />Alder: ".$alder."<br />Adresse: ".$adresse;
};
echo person("Jens","42","Glasvej 13");
?>


Men altså, det skal gøres sådan at man ikke selv skal indskriver,
de 3 dataer i person() funktionen,
men sådan at de bliver udtrukket fra arrayet.

Mange tak på forhånd, håber at i kan hjælpe mig.
Mvh. Bente
Avatar billede simtex Nybegynder
08. februar 2010 - 22:00 #1
Den grimme løsning:
$brugere = array(
            1 => array("Jens",42,"Glasvej 13"),
            2 => array("Peder",13,"Thisted 34")
          );

foreach($brugere as $bruger)
{
    echo printBruger($bruger) . '<br/>';
}

function printBruger($bruger)
{
    return "Navn: ".$bruger[0]."<br />Alder: ".$bruger[1]."<br />Adresse: ".$bruger[2];
}
Avatar billede Bente-Hedegaard Nybegynder
08. februar 2010 - 22:17 #2
Hvorfor er den grim?

Men tak, den virker umiddelbart fint nok :)
Læg et svar og få point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester