Rolf B: Berechnung

Beitrag lesen

Hallo Bernd,

um Dedlfixens Aussage zu konkretisieren:

http://php.net/manual/en/language.operators.precedence.php

Da stehen + - . in einer Zeile, haben also gleichen Rang. Bei gleichem Rang erfolgt die Auswertung in der Reihenfolge der Assoziativität. Die Tabelle sagt "links", d.h. die Operatoren werden von links nach rechts ausgewertet.

Die beiden folgenden Zeilen sind demzufolge gleichwertig:

echo "Div: " . $gesamtZeit - $zu1;
echo ("Div: " . $gesamtZeit) - $zu1;

Wenn also in $gesamtZeit bspw. 100 steht und in $zu1 steht 17, dann sollte die Ausgabe

-17

lauten. Und wenn du die Ausgabe von Warnungen einschaltest, wie es sich während der Entwicklungszeit eigentlich gehört, dann lautet die Ausgabe

**Warning**:  A non-numeric value encountered in ... on line ...
-17

Was Dir sagen will: Die Subtraktion einer Zahl von einem String ist undefiniert und darum werden String und Subtraktionsoperator schnöde ignoriert.

Dir hätte beim eigenen Testen auffallen können, dass nicht nur die Gesamtzeit, sondern auch der Text "Div: " nicht ausgegeben worden ist.

Rolf

--
sumpsi - posui - clusi