Kom ihåg mig?
Home Menu

Menu


Loopar med php

 
Ämnesverktyg Visningsalternativ
Oläst 2007-09-26, 13:19 #1
Starwebs avatar
Starweb Starweb är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2004
Inlägg: 332
Starweb Starweb är inte uppkopplad
Flitig postare
Starwebs avatar
 
Reg.datum: Jan 2004
Inlägg: 332
Sitter med ett problem som kanske är rätt enkelt men känner bara att min hjärna är på STREJK och inte verkar inte vilja klura ut svaret... =(
Behöver lite php-hjälp!


Jag har en array, med lite olika värden som ser ut såhär:

$aaList = array();
$aaList[0][0] = 88;
$aaList[0][1] = 77;
$aaList[0][2] = 66;

$aaList[1][0] = 99;
$aaList[1][1] = 111;

$aaList[2][0] = 11;
$aaList[2][1] = 10;
$aaList[2][2] = 14;
$aaList[2][3] = 12;



Utskriven med print_r($aaList); ser den alltså ut såhär:

Array
(
[0] => Array
(
[0] => 88
[1] => 77
[2] => 66
)
[1] => Array
(
[0] => 99
[1] => 111
)
[2] => Array
(
[0] => 11
[1] => 10
[2] => 14
[3] => 12
)
)



Steg #1:
Det jag vill göra är att ta det FÖRSTA elementet i den FÖRSTA array
sedan det FÖRSTA elementet i den ANDRA array
sen det FÖRSTA elementet i den TREDJE arrayn.

Steg #2:
Det jag vill göra är att ta det FÖRSTA elementet i den FÖRSTA array
sedan det FÖRSTA elementet i den ANDRA array
sen det ANDRA elementet i den TREDJE arrayn.

Steg #3:
Det jag vill göra är att ta det FÖRSTA elementet i den FÖRSTA array
sedan det FÖRSTA elementet i den ANDRA array
sen det TREDJE elementet i den TREDJE arrayn.

Steg #4:
Det jag vill göra är att ta det FÖRSTA elementet i den FÖRSTA array
sedan det FÖRSTA elementet i den ANDRA array
sen det FJÄRDE elementet i den TREDJE arrayn.

Steg #5:
Det jag vill göra är att ta det FÖRSTA elementet i den FÖRSTA array
sedan det ANDRA elementet i den ANDRA array
sen det FÖRSTA elementet i den TREDJE arrayn.

Steg #6:
Det jag vill göra är att ta det FÖRSTA elementet i den FÖRSTA array
sedan det ANDRA elementet i den ANDRA array
sen det ANDRA elementet i den TREDJE arrayn.

osv osv tills samtliga element är genomgånga, men de ska ha den följden som ovan.



Om man skulle verkligen SKRIVA ut exakt vad jag vill
åstadkomma utan att använda loopar eller "dynamik" så blir det såhär:

?><pre><?
echo $aaList[0][0]."
";
echo $aaList[1][0]."
";
echo $aaList[2][0]."
";
echo $aaList[0][0]."
";
echo $aaList[1][0]."
";
echo $aaList[2][1]."
";
echo $aaList[0][0]."
";
echo $aaList[1][0]."
";
echo $aaList[2][2]."
";
echo $aaList[0][0]."
";
echo $aaList[1][0]."
";
echo $aaList[2][3]."
";
echo $aaList[0][0]."
";
echo $aaList[1][1]."
";
echo $aaList[2][0]."
";
echo $aaList[0][0]."
";
echo $aaList[1][1]."
";
echo $aaList[2][1]."
";
echo $aaList[0][0]."
";
echo $aaList[1][1]."
";
echo $aaList[2][2]."
";
echo $aaList[0][0]."
";
echo $aaList[1][1]."
";
echo $aaList[2][3]."
";
echo $aaList[0][1]."
";
echo $aaList[1][0]."
";
echo $aaList[2][0]."
";
echo $aaList[0][1]."
";
echo $aaList[1][0]."
";
echo $aaList[2][1]."
";
echo $aaList[0][1]."
";
echo $aaList[1][0]."
";
echo $aaList[2][2]."
";
echo $aaList[0][1]."
";
echo $aaList[1][0]."
";
echo $aaList[2][3]."
";
echo $aaList[0][1]."
";
echo $aaList[1][1]."
";
echo $aaList[2][0]."
";
echo $aaList[0][1]."
";
echo $aaList[1][1]."
";
echo $aaList[2][1]."
";
echo $aaList[0][1]."
";
echo $aaList[1][1]."
";
echo $aaList[2][2]."
";
echo $aaList[0][1]."
";
echo $aaList[1][1]."
";
echo $aaList[2][3]."
";
echo $aaList[0][2]."
";
echo $aaList[1][0]."
";
echo $aaList[2][0]."
";
echo $aaList[0][2]."
";
echo $aaList[1][0]."
";
echo $aaList[2][1]."
";
echo $aaList[0][2]."
";
echo $aaList[1][0]."
";
echo $aaList[2][2]."
";
echo $aaList[0][2]."
";
echo $aaList[1][0]."
";
echo $aaList[2][3]."
";
echo $aaList[0][2]."
";
echo $aaList[1][1]."
";
echo $aaList[2][0]."
";
echo $aaList[0][2]."
";
echo $aaList[1][1]."
";
echo $aaList[2][1]."
";
echo $aaList[0][2]."
";
echo $aaList[1][1]."
";
echo $aaList[2][2]."
";
echo $aaList[0][2]."
";
echo $aaList[1][1]."
";
echo $aaList[2][3]."
";
?></pre><?





Svar nedan är gissningar från andra som också verkar ha samma feltänk som jag

Svar #1:
for ($iRow=0;$iRow < count($aaList);$iRow++)
{
for($iColumn=0;$iColumn < count($aaList[$iRow]);$iColumn++)
{
echo $aaList[$iRow][$iColumn]."
";
}
}
}


Svar #2:
$iRow=0;
for($iColumn=0;$iColumn < count($aaList[$iRow]);$iColumn++)
{
while ($iRow < count($aaList))
{
echo $aaList[$iRow][$iColumn]."
";
$iRow++;
}
$iRow=0;
}



=> Svar #2 kommer närmare än svar #1, men fortfarande en bra bit kvar.

Har du "rätt tänk" så hjälp gärna oss lägre stående varelser, för min hjärna verkar inte greppa denna loopen.
Starweb är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 03:30.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017