Ik probeer het volgende werkende te krijgen, nu staat er bij action 2 ingevuld maar dit wordt via een form normaal ingevuld en dat werkt dus wel.
Maar het probleem is dat ik altijd als respons krijg:
"De gekozen actie door u: Keuze 1". Maar ook bij het kiezen voor een 2, 3, 4 of 5 bij de variabele action krijg ik nog geen andere respons.
Wat doe ik fout of wat mag hier niet?
Code (php)
1
2
3
<?php
$action = 2; //The action the user choose to undertake
?>
De gekozen actie door u:
<br /><br />
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if ($action = 1){
echo "Keuze 1.";
}
elseif ($action = 2){
echo "Keuze 2.";
}
elseif ($action = 3){
echo "Keuze 3.";
}
elseif ($action = 4){
echo "Keuze 4.";
}
else {
echo "Er is iets niet goed gegaan, u heeft geen keuze gemaakt!";
}
?>
= mag worden == om een vergelijking uit te voeren.
Geweldig! Dat was het!
Waarom moet het eigenlijk een == zijn?
Omdat je daarmee een vergelijking kunt maken. Dat geldt ook voor === wanneer 2 gegevens ook van hetzelfde type, bv. een integer, moeten zijn.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$var = 1; // integer
$var2 = '1'; // string
if($var == $var2){
echo 'verschillende types, wel gelijke waarde';
}
else {
echo 'controle 1 mislukt';
}
if($var === $var2){
echo 'gelijke types en gelijke waarde';
}
else {
echo 'controle 2 mislukt';
}
?>
Edit: typoootjes...
Gewijzigd op 01/01/1970 01:00:00 door
Frank -met = zet je variabele gelijk aan de waarde.
met == vergelijk je of de variabele de waarde heeft
Wat betreft je code, voor volgende keer, of voor nu, als je zoveel elseif jes hebt, doe je vaak net even iets fout. Prpbeer altijd de mogelijkheden van switch.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
of nog sneller in jou geval:
Code (php)
1
2
3
<?php
echo "Keuze " . $action . ".";
?>
En dan heb je ook nog default in een switch.
En je kan veel meer met switch();
Wat ik er van getest heb is het iig sneller als elle lange if/elseif/else statements...
Voor simpele dingen gewoon if/else if /else natuurlijk..
Code (php)
1
2
3
4
5
6
7
8
<?php
$blaat = 100;
switch(true){ // geen $var
case ($blaat < 50) : echo '< 50 <br/>'.PHP_EOL; break;
case ($blaat == 50) : echo '== 50 <br/>'.PHP_EOL; break;
default : echo 'standaard!<br/>'.PHP_EOL; break;
}
?>
EDIT:
en als je geen break gebruikt of return kan je ook meerdere statements laten 'doorlopen' zeg maar...
En ook kan je weer switches in een switch nesten...
Gewijzigd op 01/01/1970 01:00:00 door
Lode Lode schreef op 21.02.2008 21:44:En ook kan je weer switches in een switch nesten...
Zo'n nest wordt vaak bewoont door bugs, het is maar de vraag of ja dat wilt...
Geen problemen mee. Maar kan me je bezorgdheid wel inbeelden.
Maar hezelfde kan natuurlijk met het nesten van if's/ else if's / else's uiteindelijk ook.
Gewijzigd op 01/01/1970 01:00:00 door
Lode