saftmeister
Nutze den Saft!
Das ist ne gute Frage, die du dir aber selbst beantworten kannst, wenn du das Konstrukt noch etwas erweiterst:
Du prüfst ja nich nur drauf, ob eine Zuweisung 0 oder 1 zuück gibt, sondern auch noch, ob es ein boolsches false (prüfe ob Typ übereinstimmt). Da bei der if ein falscher Wert rauskommt, also die Zuweisung keinen boolschen Wert zurück gibt, ist die Prüfung logischer Weise falsch, es wird also else ausgewertet.
PHP:
if( ((int) $a = "string") === false) {
echo "false";
}
elseif(((int)$a = "string") === true ) {
echo "true";
}
else {
echo "weder true noch false";
}
Du prüfst ja nich nur drauf, ob eine Zuweisung 0 oder 1 zuück gibt, sondern auch noch, ob es ein boolsches false (prüfe ob Typ übereinstimmt). Da bei der if ein falscher Wert rauskommt, also die Zuweisung keinen boolschen Wert zurück gibt, ist die Prüfung logischer Weise falsch, es wird also else ausgewertet.