Boolwert abfragen

Hallo zusammen,
benötige mal wieder Eure Hilfe. Ist für Euch sicher ganz einfach, aber ich steh mal wieder auf dem Schlauch. Hab ein Script und eine Variable-Boolean. Jetzt möchte ich mit dem Script die Variable abfragen und umschalten. Von 1/true auf 0/false schalten klappt auch. Nur wieder anschalten funktoniert nicht.

<?

$VarSwitchID = 45343  /*[Test\TestBoolSchalten\TestBoolSchalten\TestBoolSchalten]*/ ;
$VarSwitchVal = GetValue (45343  /*[Test\TestBoolSchalten\TestBoolSchalten\TestBoolSchalten]*/);

if ($VarSwitchVal = true)
{
SetValue ($VarSwitchID, 0);
echo " ist jetzt ausgeschaltet";
}

if($VarSwitchVal = false)
{
SetValue ($VarSwitchID, 1);
echo "ist jetzt eingeschaltet";
}

?>

Auch nicht mit elseif. Wenn ich mit mit echo $VarSwitchVal um false Zustand ausgeben lasse bekomme ich „“.

Hat jemand einen Tipp oder eine Quelle oder ein Beispiel?

Danke und

if ($VarSwitchVal = true)

besser:

if ($VarSwitchVal == true)
 <?

$VarSwitchID = 45343  /*[Test\TestBoolSchalten\TestBoolSchalten\TestBoolSchalten]*/ ;
$VarSwitchVal = GetValue (45343  /*[Test\TestBoolSchalten\TestBoolSchalten\TestBoolSchalten]*/);

if ($VarSwitchVal)
{
SetValue ($VarSwitchID, 0);
echo " ist jetzt ausgeschaltet";
}

if(!$VarSwitchVal)
{
SetValue ($VarSwitchID, 1);
echo "ist jetzt eingeschaltet";
}

?>  

Hallo zusammen,
Danke für die schnellen Antworten.
Wollte die Frage gerade zurück ziehen, da ich meinen Geißenfuß gefunden und das Brett vor dem Kopf endlich weg bekommen habe.
Die Variante von RWN ist mir allerdings neu. Doch noch was dazu gelernt.
Danke noch mal und