renephoenix.de

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

Freiwillige Angabe
Freiwillige Angabe
Der Text kann mit Textile formatiert werden, z.B. *fett* _kursiv_ "link":url. Wie das geht?
Wieviel ist 40 plus 2?

Bisherige Trackbacks (0)

Es wurde noch kein Trackback empfangen!