Toggle-Funktion für PHP
Man kann mit dieser Funktion ganz einfach den Wert einer Variablen „toggeln“ lassen, d.h. umschalten.
War die Variable vorher true, ist sie nachher false und umgekehrt:
function toggle(&$var)
{
if(!is_bool($var)) //Akzeptiere nur true und false
{
return null; //Wenn keine Referenz auf eine Boolsche Variable übergeben wurde, wird null zurückgegeben
}
else
{
if($var === true)
{
$var = false; //toggle
}
else
{
$var = true; //toggle
}
return $var;
}
}
Die Funktion erwartet eine boolsche Variable und benötigt eine Referenz darauf (&).
Zusätzlich wird am Ende der Funktion der neue Wert zurückgegeben.
Anwendung
$test = true;
toggle($test);
echo (int)$test;
(gibt 0 aus)
Naja, keine große Kritik, aber ein kleiner Schönheitsfehler (meiner Meinung nach):
wieso übergibst du der Funktion mit & eine Instanz der Variable und gibst sie dann dennoch zurück?
Das return $var könntest du dir sparen^^
Etwas kürzer würde es noch gehen:
function toggle(&$var)
{
if(is_bool($var))
{
$var = ($var === true ? false : true);
}
}
Jep, da hast du recht.
So könnte man es auch machen…
Danke für dienen Kommentar 🙂
Eigentlich würde das ausreichen, da du somit auch 0 und 1 abfragen kannst:
function toggle(&$var)
{
$var = ! (bool) $var;
}
Jo, so wär das natürlich noch schöner 🙂
Aber den Code versteht garantiert kein anfänger.