problemen met if/else statement
Ik ben sinds een paar dagen begonnen met het aanleren van PHP.
Onderstaand script wat ik zelf gemaakt heb bevat een if/else statement.
Wanneer een karakter uit een string van het tekstbestand gelezen word,
wordt $onoff, wanneer $Ps = 1, gelijk aan "Aan", anders gelijk aan "Uit".
Tenminste zo zou het moeten zijn. :-)
Helaas is $onoff gelijk aan "Aan", wat $Ps ook voor een waarde heeft.
Zou iemand hier zijn blik op willen werpen, het is mijzelf nog steeds
niet gelukt het probleem op te lossen.
Bij voorbaat dank.
Onderstaand script wat ik zelf gemaakt heb bevat een if/else statement.
Wanneer een karakter uit een string van het tekstbestand gelezen word,
wordt $onoff, wanneer $Ps = 1, gelijk aan "Aan", anders gelijk aan "Uit".
Tenminste zo zou het moeten zijn. :-)
Helaas is $onoff gelijk aan "Aan", wat $Ps ook voor een waarde heeft.
Zou iemand hier zijn blik op willen werpen, het is mijzelf nog steeds
niet gelukt het probleem op te lossen.
Bij voorbaat dank.
Code (php)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
$File = "IO_File.txt";
$fh = fopen($File, 'r');
$Data = fgets($fh);
fclose($fh);
$onoff = " ";
echo "<table border=\"1\" align=\"right\">";
echo "<tr><th>IO-nr</th>";
echo "<th>Status </th></tr>";
for ($t = 0 ; $t <= 15 ; $t += 1)
{
$Ps = $Data[$t];
if ( $Ps = 1 )
{
$onoff="Aan";
}
else
{
$onoff="Uit";
}
echo "<tr><td>";
echo $t;
echo "</td><td>";
echo $onoff;
echo "</td></tr>";
}
echo "</table>";
?>
$File = "IO_File.txt";
$fh = fopen($File, 'r');
$Data = fgets($fh);
fclose($fh);
$onoff = " ";
echo "<table border=\"1\" align=\"right\">";
echo "<tr><th>IO-nr</th>";
echo "<th>Status </th></tr>";
for ($t = 0 ; $t <= 15 ; $t += 1)
{
$Ps = $Data[$t];
if ( $Ps = 1 )
{
$onoff="Aan";
}
else
{
$onoff="Uit";
}
echo "<tr><td>";
echo $t;
echo "</td><td>";
echo $onoff;
echo "</td></tr>";
}
echo "</table>";
?>
Hallo Evert, Welkom bij PHPhulp.
een beginnersfoutje die je maakt bij het if() statement is je vergelijking.
bedenk het volgende:
hier wordt de waarde 1 aan $a toegekend.
dus wat gebeurt hier?:
wat tussen haakjes wordt gezet gebeurt als eerste. dus als eerste: $a = 1;
Daarna wordt gedaan if($a). Dit zal altijd TRUE opleveren. (tenzij $a =0 gedaan wordt)
Om te vergelijken zoals jij dat bedoelt moet je == gebruiken:
Hier wordt vergeleken of $a gelijk is aan de waarde 1, zonder dat de waarde van $a veranderd.
een beginnersfoutje die je maakt bij het if() statement is je vergelijking.
bedenk het volgende:
hier wordt de waarde 1 aan $a toegekend.
dus wat gebeurt hier?:
wat tussen haakjes wordt gezet gebeurt als eerste. dus als eerste: $a = 1;
Daarna wordt gedaan if($a). Dit zal altijd TRUE opleveren. (tenzij $a =0 gedaan wordt)
Om te vergelijken zoals jij dat bedoelt moet je == gebruiken:
Hier wordt vergeleken of $a gelijk is aan de waarde 1, zonder dat de waarde van $a veranderd.
Gewijzigd op 03/09/2013 19:25:09 door Frank Nietbelangrijk
Hallo Frank,
Hartstikke bedankt, ik heb het meteen aangepast en het werkte.
Ik zal in het vervolg er rekeni g mee houden.
GrtZ Evert
Hartstikke bedankt, ik heb het meteen aangepast en het werkte.
Ik zal in het vervolg er rekeni g mee houden.
GrtZ Evert




