Avatar billede venchil Nybegynder
30. december 2005 - 10:48 Der er 8 kommentarer og
1 løsning

Problemer med for - løkke

Jeg kan ikke rigtig forstå, hvad der er galt med denne kode:

<?php

$array = array("1", "2", "3", "4");
for ($x = 0; $x < count($array); $x+2)
{
echo $x;
echo " - ";
echo ($x+1);
echo "<p>";
}

?>

for-løkken skulle jo gerne lægge 2 til $x så længe $x er under antallet af værdier i arrayet $array. Derunder skulle der så blive udskrevet, hvis x f.eks var 4:

4 - 5

Hovedsagen er at de ikke virker, PHP udskriver bare

0 - 1

konstant. Der burde jo være noget i vejen med arrayet / count, men jeg kan ikke finde nogen fejl...
Er der nogen andre eksperter der kan det?
Avatar billede erikjacobsen Ekspert
30. december 2005 - 10:51 #1
for ($x = 0; $x < count($array); $x=$x+2)
Avatar billede erikjacobsen Ekspert
30. december 2005 - 10:51 #2
Eller med lidt færre tegn

  for ($x = 0; $x < count($array); $x+=2)
Avatar billede dimsushi Nybegynder
30. december 2005 - 10:53 #3
Det hænger måske sammen med at du har "" om dine tal i arrayet, men jeg ved det dog ikke. En god regel er dog at lave din count til en variabel før løkken også bruge den variabel i løkken, da den ellers skal lave et count hver gang (ved store arrays kan det koste tid). :)
Avatar billede venchil Nybegynder
30. december 2005 - 10:53 #4
Tak erikjacobsen, du må meget gerne lægge et svar :)
Avatar billede venchil Nybegynder
30. december 2005 - 11:05 #5
Hmmmm.... har lige et lille problem med at få det integreret i koden:

switch ($id) {
    case 'kompetencer':
    $include = "content_kompetencer.php";
    $title = "Kompetencer";
    $menu = array("Ret", "admin_kompetencer.php", "Slet", "noget.html");
    break;
}

if ( ($admin == "OK") && (!empty($menu)) ) {
for ($x = 0; $x < count($menu); $x=$x+2)
{

echo "<a href='$menu[$x]'><span class='toptext'>";
echo ($x + 1);
echo "</span></a>";

}
}
else {
echo "Du er ikke admin";
}

Dét virker ikke, hvad er der galt?
Avatar billede erikjacobsen Ekspert
30. december 2005 - 11:25 #6
Du skal vel rette
echo ($x + 1);
til
echo $menu[$x + 1];
Avatar billede venchil Nybegynder
03. februar 2006 - 11:53 #7
erikjacobsen, du må gerne lægge et svar :)
Avatar billede erikjacobsen Ekspert
03. februar 2006 - 22:24 #8
Jeg samler slet ikke på point, tak.
Avatar billede venchil Nybegynder
06. februar 2006 - 16:50 #9
Nå... Så må jeg vel tage points selv :(
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