Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: PHP Ausrufezeichen vor Variablendeklaration
AUTOR BEITRAG
marinE

RANG Deckschrubber

#1 - 26.10 13:50

code:
<?php

!$a = 23;

echo $a;

?>

Heraus kommt '23'...

Wieso funktioniert das einwandfrei? Ist das auf die Fehlertolleranz vom php-Interpreter zurückzuführen, oder hat das Ausrufezeichen da irgendeine theoretische Funktion?
horst

RANG Prophet of Clanintern

#2 - 26.10 15:17

Naja.. normal ist es zum Negieren da... Also in if-Abfragen zum Beispiel.

$varWithFalseValue = false;

if(!$varWithFalseValue) {
echo "dude";
}

-> dude
Crush (Anti Däääh)

RANG Master of Clanintern

#3 - 27.10 14:13

Ich hab was PHP angeht nur Basiswissen, aber ich nehme an wenn du jetzt schreiben würdest "$b = !$a = 23;", dann würde die Variable $a den Wert 23 zugewiesen bekommen und dann die variable $b den boolean negierten Wert von 23. Da 23 boolean als "true" interpretiert wird, würde $b dann "false" bekommen.

Wenn du "$b =" weglässt, dann wird der boolean negierte Wert von $a zwar berechnet aber danach wieder verworfen. Oder auch nicht, weil die Optimierung es schluckt.