Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Return functie werkt nie zoals het moet doen.

Johnny321
6 antwoorden
  • Ik heb op mn site een script draaien die moeiteloos allerlei foto-albums in elkaar draait. Werkt op zich prima, niks aan het handje.
    Nu wil ik ook video's in het foto-album dr tussen gooien; maar daar begint het probleem.
    Het projecteren van een pagina van het fotoalbum wordt gemaakt dmv een 'for-lus'. Deze gaat net zo lang door totdat deze het aantal fotos heeft (12).
    Nu heb ik in die lus een stukje script gemeubeld; om te voorkomen dat er thumsb worden gemaakt van video (wat nie kan > foutmelding etc). Nu wordt die functie goed uitgevoerd; maar na die functie stopt het hele script :'(.
    Volgens mij moet je aan het eind van de functie ' return; ' dr in meubelen; en dan moet het weer lopen, maar bij mij doet ie dat nie.
    Weet iemand de oplossing?

    [code:1:4a93621cdd]

    // alleen foto's tussen eerste en laatste foto afdrukken…
    for ($i = $eerste_foto - 1; ($i < $aantal_fotos) && ($i < $laatste_foto); $i++) {

    ClearStatCache();

    //MPEG afzonderen
    if (eregi(".mpg|.mpeg", $foto[$i]))
    {
    $thumb = "thumbs/video.jpg";
    $thumbsize = GetImageSize($thumb);

    echo "<a …….." >";
    echo "<img ………." /></a>";
    return;
    }

    // Afmetingen van foto bepalen…
    $size = GetImageSize("$album/$foto[$i]");
    ….
    ….
    ….


    [/code:1:4a93621cdd]

    De map die 'ie scant bevat 3 items; 0001.jpg, 0002.mpg, 0003.jpg. Na het videobestand stopt het script.

    online: http://htb.ath.cx/testbunker/fotos.php
  • Je maakt hier niet gebruik van een functie, als ik het zo zie. Waaorm dan een "return" er in?
  • Om die 'for-lus' opnieuw te laten beginnen, nadat hij gedetecteerd heeft dat er een MPEG in zat.
    Dat moet toch met 'return' of zit ik dan verkeerd.
  • nee.
    je moet de for-lus alleen nog afsluiten met '}'. de for-lus keert dan automatisch terug.

    return is om variabelen vanuit een functie te returnen.

    Peter
  • je moet continue gebruiken, dan wordt de lus van begin af aan gepakt nadat de increment is toegepast.
  • [quote:259e4a2f36="s.Mighty"]Je maakt hier niet gebruik van een functie, als ik het zo zie. Waaorm dan een "return" er in?[/quote:259e4a2f36]

    Omdat ie denkt dat een return heel wat anders doet :wink:


    Voor de topicstarter: http://nl2.php.net/manual/nl/control-structures.for.php

    [code:1:259e4a2f36]
    for ($woei = 1; $woei < 10; $woei++) {
    print $woei;
    }
    [/code:1:259e4a2f36]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.