Mailinglisten-Archive |
Emilio Paolini wrote:
> > also ist am Ende $string1 "1" und $string2 "def". :-)
> >
> > [1] zumindest meine Version unter HP-UX.
>
> Hmm, das sehe ich anders:
>
> Der Variablen $string1 wird "abc" zugewiesen und der Variablen
> $string2 wird "def" zugewiesen.
Das hatte ich auch erst gedacht, Zuweisung vor logischer Verknuepfung.
>
> Da sowohl der Term "abc" als auch der Term "def" NICHT NULL ist
> ergeben beide Terme TRUE, die Zeile:
>
> if($string1 = "abc" && $string2 = "def")
Bei mir sind die Operatoren aber offensichtlich gleichberechtigt und
werden von rechts nach links ausgewertet: Es wird offensichtlich erst
die rechte Zuweisung durchgefuehrt, dann die Und-Verknuepfung und dann
die linke Zuweisung. Diese Interpretation kommt mir aber ziemlich
komisch vor. Das Online-Manual schweigt sich zur Operator Preference
noch aus, da steht nur eine Ueberschrift :-) . Fazit: Besser Klammern
setzen (auch wenn es in diesem Fall nicht geholfen haette).
Test:
<?php
$string1="abc";
$string2="def";
if($string1="abc" && $string2="def") {
print "String 1 ist ".$string1.", String 2 ist ".$string2."!";
}
?>
Siehe
http://elsahp10.physik.uni-bonn.de:8080/~bongartz/php/vergleich.php
Source unter .../vergleich.phps
> Einverstanden ?
Leider nicht ganz ;-) .
> E.
Ciao,
Harald (jetzt auf dem Weg nach Hause)
--
* Harald H.-J. Bongartz bongartz_(at)_physik.uni-bonn.de *
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- *
* Schlechte Laune ist der Schnupfen des Gemuets, *
* laestig und ansteckend. - Peter Horton *
php::bar PHP Wiki - Listenarchive