phpbar.de logo

Mailinglisten-Archive

[php] unerwartete stringausgabe

[php] unerwartete stringausgabe

Christoph Kramesch christoph at kramesch.com
Mit Jun 28 15:07:55 CEST 2006


Lutz Zetzsche wrote:
> Ich kann mich nur wiederholen. Ihr redet am Thema vorbei, weil es hierum 
> ging: echo $i."+".$j."=".$i+$j;
> 
> Und da sind doch wohl Punkte und Plus wild gemischt. Java und Perl 
> würden Dir sowas mit Sicherheit um die Ohren hauen. Ohne Klammerung ist 
> das syntaktisch einfach falsch.
Also syntaktisch ist das meiner Einschätzung nach nicht falsch, da ja 
alle Syntaxregeln eingehalten wurden. Ob ein sematischer Fehler vorliegt 
ist Sache der Compilerbauer.. Ich denke dass die eben, so wie Sebastian 
Mendel in seiner Mail durch den 'Schreibtischtest' angegeben hat, die 
Semantik des '+' Operators für die Typen String und Integer einfach auf 
das Verhalten intval(<string>) + <integer> definiert haben. Somit ist es 
syntaktisch und semantisch richtig.

 > Wenn obige Erklärung bei ihm zutreffen würde, hätte er 25 rausbekommen
 > müssen.

Empfinde ich jetzt nicht so, da ja die String zu Integer Umwandlung nach 
der 10 abbricht ( sprich KEINE Auswertung des Ausdruckes "10+5=10" 
erfolgt. Übrig bleibt 10 + $j => 15....

Cheers,
Christoph

php::bar PHP Wiki   -   Listenarchive