If...Else uitkomst in een variabele zetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Timo Kleinhout

Timo Kleinhout

14/03/2011 17:41:37
Quote Anchor link
Hallo,

Voor school moeten wij Lingo maken mbv PHP. Nu heb ik dat het script gaat controleren welke letters goed zijn (groen), welke letters wel in het woord zitten maar niet op de goede plaats (geel) en rood als de letter er helemaal niet in zit.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php

$woord
= "winkel";
$raden = "negens";

echo "Het woord: " . $raden . "<br></br>";
    
for ($i = 0; $i < 6; $i++){
   if ($woord[$i] !== $raden[$i]){
        echo $raden[$i] . ' <font color="Red">Rood</font> <br>';}
    
    
    for ($j = 0; $j < 6; $j++){
    //ECHO "i is " . $i . "en j is: " . $j;
        
        if ($raden[$i] == $woord[$j]){
            echo $raden[$i] . ' <font color="Yellow">Geel</font> <br>';
        }
            
    
    }

    if ($woord[$i] == $raden[$i]){
        echo $raden[$i] . ' <font color="Green">Groen</font> <br>';
    }
            
}

    
echo '<br></br> Ga <a href="lingo2.html">Terug</a>';

?>


Hij geeft nu aan welke kleur de letter krijgt, dit werkt goed. Maar hij geeft soms twee antwoorden per letter, hij overschrijft het de tweede keer. Ik wil graag dat hij alleen de laatste laat zien (in het voorbeeld moet het woord WINKEL zijn) dus:

Quote:
n GEEL
e GEEL
g ROOD
e GEEL
n GEEL
s ROOD


Volgens de leraar komt dit omdat ik het echo en dat ik uit de if...else een veriabele moet maken, als ik dan die variabele echo zou hij het wel goed doen, kan iemand helpen?

MVG
 
PHP hulp

PHP hulp

22/12/2024 07:26:39
 
Noppes Homeland

Noppes Homeland

14/03/2011 18:52:13
Quote Anchor link
Jij bent echt helemaal van de ............. gerukt, waarom stel je die vraag niet gewoon in http://www.phphulp.nl/php/forum/topic/else-if-probleem/76904

Er zit een fout in je script je hebt 1 n en je hebt 2x geel als uitkomst, dat betekent in feite dat er 2n-en in het te raden woord zitten.

en deze aanpak is niet echt om naar huis te schrijven je hebt nu 36 itteraties, terwijl je het er met 6 af zal kunnen
Gewijzigd op 14/03/2011 18:57:35 door Noppes Homeland
 
Timo Kleinhout

Timo Kleinhout

14/03/2011 18:55:49
Quote Anchor link
Dit is toch weer wat anders ;-)
 
Noppes Homeland

Noppes Homeland

14/03/2011 18:58:26
Quote Anchor link
Nee, dit is niet anders, je hebt alleen de logica een beetje gewijzigd, zodat het nog langer duurt eer je het juiste antwoord hebt.

maar ook die leraar weet blijkbaar niet de juiste oplossing, je kan breaken als i==j en j moet je laten beginnen bij i+1
Gewijzigd op 14/03/2011 19:04:54 door Noppes Homeland
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.