Hallo Martin!
Sieh dir einmal die
Operator-Rangfolge in PHP an!
Der Verknüpfungsoperator
. steht auf dem gleichen Level wie der Additionsoperator
+ oder der Subtraktionsoperator
-. Da eine Assoziativität von links nach rechts vorliegt, wird zunächst der String "Test 2: " mit dem Rückgabewert des Funktionsaufrufs von time() verknüpft; von dem Ergebnis wird das Produkt intval($config['user_prune_lost_time']) * 2592000 subtrahiert. Dieses Ergebnis (-62208000) wird mit dem String "<br />" verknüpft.
Folgende Zeilen sind allerdings äquivalent:
Code: Alles auswählen
echo "Test: " . (time() - (intval($config['user_prune_lost_time']) * 2592000)) . "<br />";
echo "Test: " . (time() - intval($config['user_prune_lost_time']) * 2592000) . "<br />";
Dies liegt daran, dass der Multiplikationsoperator
* einen höheren Rang als Additions- oder Verknüpfungsoperator hat und die Multiplikation deshalb zuerst ausgeführt wird. (Daher führen die zweite und die dritte Zeile deines Testcodes zur gleichen Ausgabe.)
Deine Frage, ob PHP Punkt- vor Strichrechnung berücksichtigt, lässt sich also positiv beantworten.
P.S.: Schade, zu spät...