foreach functie

  • Hey,


    Bij een script heeft de gebruiker een bepaald level nodig om een bepaalde actie uit te voeren, dit heb ik nu in ifjes staan, een klein deel van het script:



    Hoe kan ik dit ombouwen naar de foreach functie? Ik heb nog nooit echt met die functie gewerkt en google hielp me ook niet echt vooruit, kan iemand me opweg helpen?


    Alvast bedankt!


    MVG.

  • Guest, wil je besparen op je domeinnamen? (ad)
  • foreach staat letterlijk vertaald voor: voor elke.
    Bij foreach werk je met arrays, een aantal variabels in een soort 'mapje'.
    Bij foreach (voor elke), wordt de code uitgevoerd voor elke variabel in de array(map).


    Stel je hebt een array met 10 variabels, dan zal de foreach code 10x worden uitgevoerd.



    Hierbij zal ik je aanraden de functie "switch" te gebruiken, het is hetzelfde principe als if elseif, alleen dan werk je met cases. Dat gaat als volgt.

  • Optie een:


    Een meer correct gebruik van een switch.
    Een switch begint bij de eerste matchende conditie en stopt bij de eerste break.
    Zolang er geen breaks zijn gaat hij dus gewoon door tot het einde.


    Optie twee:

  • Ik wou toevallig een 2e vraag stellen, of het ook in een array kan om het script zo klein mogelijk te houden. Bedankt Darsstar!


    Jij ook bedankt ismail123, ik weet weer hoe de functie werkt. :cheer:

  • Ik loop vast met darsstar optie 2, ik heb nu:



    en:


    PHP
    foreach ($soorten as $level => $string) {
    					   
            if ($lvl['smuggling_level'] < $level) {
            $msg = bad("Je hebt een onbekend type geselecteerd! ".$level." ".$string." ".$soorten."");
            }


    Hij zegt elke keer dat ik een onbekent type heb geselecteerd. Dus nu heb ik bij de echo even de 3 variabele gezet en die bevatten:


    93, cocaine, array.


    Er klopt dus met dat gedeelte even iets niet.


    De bedoeling is: Als de gebruiker level 5 heeft, moet hij Marihuana en Hashj alleen kunnen doen, want die zitten onder level 5, de overige dan komt de error dat het een onbekende type is (beveiliging)

  • @sukel,


    Wat ik heb begrepen is dat je het nu wilt beveiligen?
    Als je de bovenstaande code uitvoert krijg je bij elke optie die NIET voor dat level geschikt is een error.
    Die beveiliging moet niet in de foreach zitten, maar werken met $_POST inputs.
    Dan zou ik de value van de optie hetzelfde maken als op welke level je moet zijn om die optie te kunnen zodat je ermee kan spelen in php.
    Als je dat niet doet moet je via php weer uitvogelen welke optie bij welke level behoort.
    Dus dit doe je dan:


    En deze beveiligings manier.

    PHP
    // als de gekozen optie gestuurd is.
    if($_POST["geselecteerdeitem"]){
    // als de persoon is toegestaan om die optie uit te voeren
        if($lvl['smuggling_level'] >= $_POST["geselecteerdeitem"]){
         // voer de code uit wanneer toegestaan.
        }else{
        bad("Je hebt geen rechten tot deze optie.");
        }
    }

  • Owja :$
    Goh, ik denk altijd veels te moeilijk haha.


    Bedankt! :cheer:

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!