Avatar billede zehrid Nybegynder
23. juni 2005 - 14:54 Der er 8 kommentarer og
1 løsning

Oprettelse af arrays

jeg ved man kan oprette et array på flere forskellige måde, såsom:

$dyr = array("kat", "hund", "fisk", "fugl");
eller hvis man opretter en assoc. array:
$dyr = array("a" => "kat", "b" => "hund", "c" => "fisk", "d" =>"fugl");
eller bare
$dyr[] = "kat";
$dyr[] = "hund";
$dyr[] = "fisk";
$dyr[] = "fugl";

Multidimensionale kan oprettes på følgende måde:
$raekke_0 = array(1, 2, 3);
$raekke_1 = array(4, 5, 6);
$raekke_2 = array(7, 8, 9);
$multi = array($raekke_0, $raekke_1, $raekke_2);


og nu kommer spørgsmålet! hvad betyder følgende kode?

while ($db->next_record()){
                $anlaeg_bag[] = array('id'=>$db->f(id),
                                      'betegnelse'=>$db->f(Betegnelse),
                                      'fabrikat'=>$db->f(fabrikat),
                                      'type'=>$db->f(anlaegstype),
                                      'dato'=>$db->f(Igangsat),
                                      'udgaaet'=>$db->f(Udgaaet),
                                      'tilbud'=>$db->f(Tilbud)
                                    );
         
            }


$anlaeg[$firma[$j]['id']] = $anlaeg_bag;
Avatar billede erikjacobsen Ekspert
23. juni 2005 - 15:21 #1
Det er det samme som

while ($db->next_record()){
  $x=Array();
  $x['id']=$db->f(id);
  $x['betegnelse']=$db->f(Betegnelse)
  //...
  $x['tilbud']=$db->f(Tilbud);
  $anlaeg_bag[] = $x;
}
Avatar billede zehrid Nybegynder
23. juni 2005 - 15:27 #2
anlaeg_bag er altså todimensionel array.. ?

hvad med udtrykket: $anlaeg[$firma[$j]['id']] = $anlaeg_bag . vil du uddyb det lidt, tak :-)
Avatar billede erikjacobsen Ekspert
23. juni 2005 - 15:32 #3
Der er ikke så meget at sige. Hvad nu end $firma[$j]['id'] indeholder, så er det på den plads at det "todimensionelle array" $anlaeg_bag bliver sat ind. Det kan man ikke se af koden.

Man kan tænke på $anlaeg_bag som todimensionelt array, eller som et-dimensionelt, hvor hver indgang indeholder en hashtabel/en record/en tupel fra databasen.
Avatar billede zehrid Nybegynder
23. juni 2005 - 15:45 #4
ok.. hvorfor er det nødvendig med  "todimensionelle array" i array_bag? kunne man ikke nøjes med at skrive :
$anlag_bag = array( ... ?
dvs. så får man $anlaeg[5] = array('id'=>$db->f(id),
                                      'betegnelse'=>$db->f(Betegnelse),
                                      'fabrikat'=>$db->f(fabrikat),
                                      'type'=>$db->f(anlaegstype),
                                      'dato'=>$db->f(Igangsat),
                                      'udgaaet'=>$db->f(Udgaaet),
                                      'tilbud'=>$db->f(Tilbud)
                                    );
Avatar billede zehrid Nybegynder
23. juni 2005 - 15:46 #5
altså hvis man sætter anlaeg_bag = array('id'=>$db->f(id),
                                      'betegnelse'=>$db->f(Betegnelse),
                                      'fabrikat'=>$db->f(fabrikat),
                                      'type'=>$db->f(anlaegstype),
                                      'dato'=>$db->f(Igangsat),
                                      'udgaaet'=>$db->f(Udgaaet),
                                      'tilbud'=>$db->f(Tilbud)
                                    ); i stedet for "anlaeg_bag[]" ....
Avatar billede erikjacobsen Ekspert
23. juni 2005 - 22:27 #6
Nej, du skal have "to"-dimensionelle, da du har et antal rækker (tupler) fra databasen, der hver indeholder et antal felter.
Avatar billede zehrid Nybegynder
24. juni 2005 - 08:07 #7
ok.så tror jeg at jeg er nogenlunde med :) skriv svar så får du points.
Avatar billede erikjacobsen Ekspert
24. juni 2005 - 08:45 #8
Nej tak, jeg samler slet ikke på point.
Avatar billede zehrid Nybegynder
24. juni 2005 - 08:46 #9
når ok.men mange tak for svarene!
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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