Falsches Addieren?

Ich habe folgenden Code:
[PHP]
$zeit = time()+$this->ini[‚ip_time‘];
[/PHP]

Die Zeile in der Ini Sieht wie folgt aus:
ip_time = 30

Nun addiert er aber die 30 nicht dazu, sondern hängt sie hinten dran:
127264020330
127264026330
127264026930

Usw.

Was mach ich falsch? Ich komm zum verrecken nicht drauf.

Könntest mal den hier probieren:
[PHP]
$zeit = time()+(int)$this->ini[‚ip_time‘];
[/PHP]

Der Vorschlag von rexini müsste eigentlich funktionieren:
Denn PHP besitzt nur eine sogenannte schwache Typisierung,
das bedeutet, der Typ einer Variable (String, Integer, usw.) kann sich während der Laufzeit ändern.
Da du in deinem Codebeispiel eine Zahl mit einem String verbinden willst,
wandelt PHP die Zahl automatisch in einen String um.

Aber moment, so müsste es eigentlich ablaufen,
aber du verbindest die beiden Variablen ja gar nicht ($var1.$var2),
sondern versuchst sie zu addieren ($var1 + $var 2).

Dann müsste das ganze eigentlich so ablaufen,
wie ich an diesem kleinen Beispiel demonstrieren will:

[PHP]
$zahl = 123;
$text = ‚100‘;

echo $zahl + $test;
echo ‚


‘;
echo $zahl + (int) $text;
[/PHP]

Die erste Ausgabe lautet 123 und die zweite 323.
Siehe da, die beiden Zahlen wurden im zweiten Fall richtig addiert.

Im ersten Fall wird bei mir (PHP-Version 5.2.9) der String bei der Addition einfach ignoriert und nur die Zahl ausgegeben (erste Ausgabe: 123). Bei dir dagegen wird die Zahl und der String ausgegeben.

Weiß einer, woran das liegen könnte?
Wahrscheinlich gibt es eine ganz einfache und logische Erklärung,
auf die ich nur nicht komme :wink:

Du hast dich vertippt ($test und $text). :wink: Und dann erklär mal die Ausgabe deines Beispiels. :wink:

:smiley: OK, das war wohl der beste Fehler, den ich machen konnte. :wink:

[php]<?php

$zahl = 123;
$text = ‚100‘;

echo $zahl + $text; // Ausgabe: 223
echo ‚


‘;
echo $zahl + (int) $text; // Ausgabe: 223

// (PHP 5.3.2)[/php]

Keiner will die Ausgabe erklären? Dann hier ein Link zur Doku: PHP: Strings - Manual

Anders gesagt: Fehlendes Typecasting mit i[/i] kann eigentlich nicht das Problem in diesem Thread sein. Falls es die fehlerhafte Ausgabe bei Gimli beheben sollte, entspricht das nicht den Angaben in der PHP-Dokumentation.

(Unabhängig davon, dass es mit Typecasting generell sauberer programmiert ist.)

Ich werd mich morgen nochmal damit beschäftigen, und dann posten, wenn ich was gefunden habe.