Toon posts:

[php] foreach omzetten naar while, mogelijk?

Pagina: 1
Acties:
  • 34 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb de array $files, die getoond wordt met onderstaande code. Dit werkt.

Nu wil ik van de de foreach een while lus maken, om zo een if-lus er in te zetten die de regels afbreekt, zodat het geen hele lange ('brede') rij afbeeldingen wordt.

Het probleem is hoe ik de foreach lus omzet naar een while lus. Is dit mogelijk en hoe? (de if-lus niet werkt met foreach in dit geval).

PHP:
1
2
3
4
5
6
7
8
    krsort($files);
    foreach ($files as $file) {

        $file_size = fileSize("$dirpath/$file"); 
        $file_size = round($file_size / 1000) . " Kb"; 

        echo ("<td>&nbsp;[img]'avatars/$gallery/$file'[/img]<br>$file_size<br><br></td>\n");
    }


De if-lus die ik erin wil en verder ook goed werkt, zou komen op regel 3.
PHP:
1
2
if (($count >= $min) AND ($count <= $max)){ 
}


Alvast bedankt, zit er echt mee in de knoop, met dit warme weer nog wel 8)7

Verwijderd

PHP:
1
2
3
4
5
$i = 0;
while ($files[$i]) {
do stuff;
$i++;
}


Zoiets misschien?

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 12-07 11:54
Verwijderd schreef op 19 July 2003 @ 14:38:
PHP:
1
2
3
4
5
$i = 0;
while ($files[$i]) {
do stuff;
$i++;
}


Zoiets misschien?
Zou ik niet doen, dat geeft warnings.

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

PHP:
1
2
3
4
5
6
$i = 0;
while($i <= count($files))
{
    // do your thing
    $i++;
}
edit:
Op de manier van SF3 krijg je inderdaad een warning. Verder lijkt me dit pretty basic. :)

Zie ook while-loopjes

[ Voor 64% gewijzigd door RedRose op 19-07-2003 14:44 ]

Sundown Circus


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Ik zou het gewoon een foreach laten. Met een apart tellertje hou je bij hoe veel er op een regel staan. Is het maximum gebruikt, maak dan een nieuwe regel ('</tr><tr>'), zet de teller op nul en ga weer verder.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Verwijderd

Topicstarter
RedRose schreef op 19 July 2003 @ 14:41:
PHP:
1
2
3
4
5
6
$i = 0;
while($i <= count($files))
{
    // do your thing
    $i++;
}
Dit lusje werkt nu ja, [bedankt] alleen het probleem is dat hij niet uitleest wat de waarde van de array is ; (

PHP:
1
2
3
4
5
6
7
8
9
while($count <= count($files)){     //was foreach ($files as $file) {
    
    if (($count >= $min) AND ($count <= $max)){ 

          echo ("<td>[img]'$filename'[/img]</td>\n");
    }       
    
    $count++; 
}


Als ik het goed heb moet ik dan van een array uitlezen met ($filename vervangen door) $files[$count] , maar dit werkt niet :(

[ Voor 6% gewijzigd door Verwijderd op 19-07-2003 15:03 ]


  • Ghost(NL)
  • Registratie: December 2000
  • Niet online
je kunt beter dan ff doen $file = $files[$count]; en dan <TD><IMG SRC='$file' etc...

Dit zou wel moeten werken.

i5-12600K PRIME Z690M-PLUS D4 64GB 980 Pro M.2 1TB  MBA M1 13" 8GB 256GB (Late '20)


  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 14-08 15:59
Iets als:
PHP:
1
2
3
4
5
6
7
8
9
<?php

while (list($key, $value) = each($files)) {
  if (bla) {

  }
}

?>

Is de while versie van foreach, die ik _in PHP_ netter vindt dan de foreach...

zeroxcool.net - curity.eu


Verwijderd

Topicstarter
ghostrdr01 schreef op 19 July 2003 @ 15:10:
je kunt beter dan ff doen $file = $files[$count]; en dan <TD><IMG SRC='$file' etc...

Dit zou wel moeten werken.
werkt niet :'(
$file krijgt geen waarde

Verwijderd

Ik weet niet hoe het bij jullie zit maar bij mij geeft dat script alleen maar een Notice, er is geen warning te bekennen...

Ik geef wel toe dat het een niet erg nette manier is, maar warnings, nee...

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Verwijderd schreef op 19 July 2003 @ 15:14:
werkt niet :'(
$file krijgt geen waarde
Een waarde uit een array lezen zou je verder zelf wel uit moeten kunnen komen.
Kortom: eerst zelf nog even proberen.
Op php.net kun je informatie over de diverse statements vinden.

Succes :)

Who is John Galt?

Pagina: 1

Dit topic is gesloten.