problemen met if/else statement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Evert Kaa

Evert Kaa

03/09/2013 18:45:41
Quote Anchor link
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.

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
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>";


?>
 
PHP hulp

PHP hulp

17/06/2024 02:08:38
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/09/2013 19:24:03
Quote Anchor link
Hallo Evert, Welkom bij PHPhulp.

een beginnersfoutje die je maakt bij het if() statement is je vergelijking.

bedenk het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$a
= 1;
?>


hier wordt de waarde 1 aan $a toegekend.

dus wat gebeurt hier?:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if($a = 1)
    // doe iets
?>


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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if($a == 1)
    // doe iets
?>


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
 
Evert Kaa

Evert Kaa

03/09/2013 22:24:58
Quote Anchor link
Hallo Frank,

Hartstikke bedankt, ik heb het meteen aangepast en het werkte.
Ik zal in het vervolg er rekeni g mee houden.

GrtZ Evert
 



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.