Kleines Knobelrätsel für PHP
Im PHP-Code meiner Seite suchte ich eben nach der Ursache für ein eigenartiges Verhalten. Kurz zusammengefaßt und als Rätsel verpackt:
$var1 = 1;
$var2 = 0;
$var3 = $var1 && $var2;
$var4 = $var1 and $var2;
echo "$var3,$var4";
In der Ausgabe lieferte allerdings nicht »,
«, sondern »,1
«. Warum?
Bisherige Kommentare (1)
Kommentar von mistake
Habe aus Neugierde selber gegoogelt und habe eine Lösung gefunden:
»&&
« hat eine größere Priorität als »and
«
Das Ergebnis des Ausdrucks ($var1 && $var2
) wird $var3
zugewiesen
[Funktioniert wie: ($var3 = ($var1 && $var2))]
$var3 = $var1 && $var2;
$var1
wird $var4
zugewiesen und danach wird $var2 ignoriert
[Funktioniert wie: (($var4 = $var1) and $var2)]
$var4 = $var1 and $var2;
Quelle:
http://php.net/manual/de/language.operators.logical.php
Kommentar verfassen
Bisherige Trackbacks (0)
Es wurde noch kein Trackback empfangen!