Avatar billede jenslyn_s Nybegynder
17. marts 2004 - 13:03 Der er 5 kommentarer og
1 løsning

while løkke til udtræk af array

jeg skal vise indholdet af min kurv:
[kurv] med arrays([id],[antal],[extra],[extra2])

Jeg skal have en while løkke, så jeg kan stille det op i en tabel og echo ud en efter en. Derudover skal den vel have et 'if'-statement, så at [extra] og [extra1] kun bliver echo'et ud hvis de indeholder noget.

En som kan hjælpe mig med at formulere den?
Avatar billede limemedia Nybegynder
17. marts 2004 - 13:13 #1
noget ala følgende ?

for ($i=0; $i<sizeof($kurv); $i++) {
  echo $kurv[$i]['antal'].'x '.$kurv[$i]['id'].'<br>';
  if (isset($kurv[$i]['extra']) && !empty($kurv[$i]['extra'])) echo $kurv[$i]['extra'].'<br>';
  if (isset($kurv[$i]['extra2']) && !empty($kurv[$i]['extra2'])) echo $kurv[$i]['extra2'].'<br>';
}
Avatar billede raz0 Nybegynder
17. marts 2004 - 14:00 #2
Husk lige at sizeof() bliver evalueret hver gang løkken kører. Derfor er det langt hurtigere at finde størrelsen af array'et først.

F.eks.:

$size = sizeof($array);
for($i=0; $i<$size; $i++) { ...
Avatar billede limemedia Nybegynder
17. marts 2004 - 14:15 #3
raz >> var det ikke noget med at det var rettet i senere php versioner ? synes jeg har hørt noget ... skal ikke kunne sige det, og dit forslag holder ihvertfald vand
Avatar billede jenslyn_s Nybegynder
17. marts 2004 - 15:32 #4
ser cool ud, men har nok ikke udtryk mig godt nok, da jeg ikke får noget resultat.. har testet med print_r ($kurv); som giver følgende:
Array ( [0] => Array ( [id] => 1 [antal] => 999 [extra1] => broed1 [extra2] => ost1 ) )
Hvordan får jeg det formuleret, så den spytter resultaterne ud... sikkert en noob array fejl...
Avatar billede jenslyn_s Nybegynder
17. marts 2004 - 15:54 #5
min session er sat sådan her:
$_SESSION[kurv][] = array("id" => $_GET['id'], "antal" => $_GET['antal'], "extra" => $_GET['xtra'], "extra1" => $_GET['xtra1'],);
Avatar billede jenslyn_s Nybegynder
18. marts 2004 - 11:25 #6
ok ok ok... endte med den her:
foreach($kurv as $id) {
print $id['antal'].'stk '.$id['id'].'<br>';

if ((strlen(trim($id['broed'])) > 0) && (strlen(trim($id['broed']))) > 0) {
          print $id['broed'].'<br>';
          print $id['ost'].'<br>';
      }
}
tak til jer begge, point til lars.
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