PHP vraag.
code tot nu toe:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
session_start();
$geraden_letter = "a";
$galgje_woorden = array("aardworm", "creatuur", "andividu", "achepsel", "aoogmoed", "ajdelheid", "areffend", "alooster", "aouwwerk");
$rand = rand(0, 8);
$raadwoord = $woord;
$woord = str_split($galgje_woorden[$rand]);
$letter = array("*","*","*","*","*","*","*","*");
for( $i = 0; $i >= 7; $i++)
{
if($geraden_letter = $woord[$i])
{ $letter[$i] = $geraden_letter;}
}
echo "$letter[0] $letter[1] $letter[2] $letter[3] $letter[4] $letter[5] $letter[6] $letter[7]";
?>
session_start();
$geraden_letter = "a";
$galgje_woorden = array("aardworm", "creatuur", "andividu", "achepsel", "aoogmoed", "ajdelheid", "areffend", "alooster", "aouwwerk");
$rand = rand(0, 8);
$raadwoord = $woord;
$woord = str_split($galgje_woorden[$rand]);
$letter = array("*","*","*","*","*","*","*","*");
for( $i = 0; $i >= 7; $i++)
{
if($geraden_letter = $woord[$i])
{ $letter[$i] = $geraden_letter;}
}
echo "$letter[0] $letter[1] $letter[2] $letter[3] $letter[4] $letter[5] $letter[6] $letter[7]";
?>
Ik heb om te testen in elk woord een a gezet en als raadwoord a gekozen, maar om de één of andere reden blijft
echo "$letter[0] $letter[1] $letter[2] $letter[3] $letter[4] $letter[5] $letter[6] $letter[7]";
********
geven en niet:
a*******
Ik hoop dat iemand me kan helpen,
wordt de waarde in de array wel gewijzigd op de manier waarop jij het doet?
zorgt dat er niet voor dat $letter[$i] de waarde van $geraden_letter krijgt?
$woord = str_split($galgje_woorden[$rand]);
?
Als (PHP zet $geraden_letter met de waarde $woord[$i]).. Je vergelijkt niet, dus doe je d.m.v. == of === een enkele =, zorgt ervoor dat je een waarde ZET.
Daarbij kun je ook echo implode(' ', $letter); doen.
@ niek ja die moeste andersom en
@ mark kzal kijken of het dan werkt
Toevoeging op 18/09/2010 16:19:57:
okay ik heb nu
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
session_start();
$geraden_letter = a; // hier wordt de letter die is gekozen opgeslagen
$galgje_woorden = array("aardworm", "creatuur", "andividu", "achepsel", "aoogmoed", "ajdelheid", "areffend", "alooster", "aouwwerk"); // hier staan alle mogelijke worden opgeslagen
$rand = rand(0, 8);
$raadwoord = $galgje_woorden[$rand];
$woord = str_split($raadwoord); // hier wordt het woord gesplitst in 8 letters
$letter = array("*","*","*","*","*","*","*","*");
for( $i = 0; $i >= 7; $i++)
{
if($geraden_letter == $woord[$i])
{
$letter[$i] = $geraden_letter;
}
}
echo implode(' ', $letter);
?>
session_start();
$geraden_letter = a; // hier wordt de letter die is gekozen opgeslagen
$galgje_woorden = array("aardworm", "creatuur", "andividu", "achepsel", "aoogmoed", "ajdelheid", "areffend", "alooster", "aouwwerk"); // hier staan alle mogelijke worden opgeslagen
$rand = rand(0, 8);
$raadwoord = $galgje_woorden[$rand];
$woord = str_split($raadwoord); // hier wordt het woord gesplitst in 8 letters
$letter = array("*","*","*","*","*","*","*","*");
for( $i = 0; $i >= 7; $i++)
{
if($geraden_letter == $woord[$i])
{
$letter[$i] = $geraden_letter;
}
}
echo implode(' ', $letter);
?>
maar als output krijg ik nog steeds:
********
Gewijzigd op 18/09/2010 16:30:55 door david asd
Gewijzigd op 18/09/2010 17:58:55 door jan talpa
Toevoeging op 18/09/2010 17:28:36:
ow bedankt :p maar ik snap nog steeds niet waarom bij
$letter[$i] niet "a" wordt. :s
Toevoeging op 18/09/2010 17:31:41:
okay ik heb het nu met
Code (php)
1
2
3
4
5
2
3
4
5
if($geraden_letter == $woord[0])
{
$letter[0] = $geraden_letter;
echo "Je hebt een goede letter geraden!<br />";
}
{
$letter[0] = $geraden_letter;
echo "Je hebt een goede letter geraden!<br />";
}
geprobeerd zonder gebruik te maken van for($i = 0; $i >=8; $i++){}
en het werkt nu wel , wel een beetje langere code maar ik doe het maar gewoon zo :p
Gewijzigd op 18/09/2010 17:42:34 door jan talpa
Je for loop klopt ook niet. Het moet kleiner of gelijk aan zijn in plaats van groter of gelijk aan.