Avatar billede mik789 Nybegynder
05. maj 2003 - 17:54 Der er 8 kommentarer og
1 løsning

multidimensionalt array skrevet som index

Jeg synes det er svært at tænke i arrays.

Her er et simpelt multidimensionalt array:

<?php
$farver = array (array ("Rød", "Lyserød", "Mørkerød"),
                array ("Blå", "Lyseblå", "Mørkeblå"),
                array ("Grøn", "Lysegrøn", "Mørkegrøn"));


for ($rgb=0; $rgb<3; $rgb++) {
  for ($mf=0; $mf<3; $mf++) {
    echo " | ".$farver[$rgb][$mf];
    }
  echo "<br />";
}
?>

Det skrives ud som en tabel med rækker og kolonner, rgb farverne lodret i første kolonne og mellemfarverne vandret i hver af de tre rækkers to sidste celler. Men hvis man godt i stedet vil have det skrevet ud i index-format, altså sådan:

Rød
  Lyserød
  Mørkerød

Blå
  Lyseblå
  Mørkeblå

Grøn
  Lysegrøn
  Mørkegrøn

-- hvordan skal scriptet så skrives?

//mik
Avatar billede jakoba Nybegynder
05. maj 2003 - 18:02 #1
bar byt om på de to 'for' linier:

for ($mf=0; $mf<3; $mf++) {
  for ($rgb=0; $rgb<3; $rgb++) {
    echo " | ".$farver[$rgb][$mf];
    }
  echo "<br />";
}
Avatar billede jakoba Nybegynder
05. maj 2003 - 18:03 #2
eller er det ikke det du mener?
Avatar billede mik789 Nybegynder
05. maj 2003 - 18:04 #3
jakoba> jeg er nødt til lige at prøve at se hvordan det kommer til at se ud ;-)
Avatar billede jakoba Nybegynder
05. maj 2003 - 18:09 #4
hvis man tænker sig lidt om:

for ($rgb=0; $rgb<3; $rgb++) {
  for ($mf=0; $mf<3; $mf++) {
    if ( $mf != 0 ) echo "    ";
    echo $farver[$rgb][$mf] ."<br />";
    }
  echo "<br />";
}
Avatar billede mik789 Nybegynder
05. maj 2003 - 18:09 #5
Det kommer til at se sådan ud:

| Rød | Blå | Grøn
| Lyserød | Lyseblå | Lysegrøn
| Mørkerød | Mørkeblå | Mørkegrøn

Men jeg ville have:

Rød
    Lyserød
    Mørkerød

Blå
    Lyseblå
    Mørkeblå

Grøn
  Lysegrøn
  Mørkegrøn

-- Indrykningen er ligegyldig. Det er mere det med at få det skrevet i tre overordnede rækker med tre underordnede rækker under hver af de overordnede, hvis det er nogen lunde klart
Avatar billede mik789 Nybegynder
05. maj 2003 - 18:15 #6
Ja det sidste var korrekt. Tak skal du have
Avatar billede mik789 Nybegynder
05. maj 2003 - 18:22 #7
men linjen:

if ( $mf != 0 ) echo "    ";

udretter ingen ting. Heller ikke hvis jeg erstatter dine blanktegn med "\t" eller "&nbsp;&nbsp;". Hvis man fjerner denne udskrift, får man nøjagtig samme udskrift som hvis den er med.
Avatar billede mik789 Nybegynder
05. maj 2003 - 18:23 #8
denne udskrift == "denne linje"
Avatar billede jakoba Nybegynder
05. maj 2003 - 22:43 #9
Ups ja, det skulle være nbsp; hvert andet blanktegn.
"&nbsp; &nbsp; "
og jo det har en effekt, blanktegn er bare ikke ret brede så måske der skal flere til:
"&nbsp; &nbsp; &nbsp; &nbsp; "

takker for pts.

mvh JakobA
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