*Markus: Umgang mit String und int

Beitrag lesen

Hallo,

ich habe folgende Schleife:

  
            for ($i = 0; $i < count($resultlist); $i++)  {  
                $zeile = $resultlist[$i]+1;  
                 echo 'Zeile ' . $zeile . ': ' . $filecontent[$resultlist[$i]] . '<br />';  
            }  

Hätte ich statt $zeile $resultlist[$i]+1 eingefügt, wäre die Ausgabe pro Zeile immer 1 gewesen. Die richtige Ausgabe wäre $resultlist[$i] plus 1. $resultlist enthält eine Liste von Zeilennummern. Da die Numemrn aber bei 0 anfangen, muss ich zur Ausgabe 1 addieren.
Ich versuchte Lösungen wie ((int)$resultlist[$i])++, half aber nichts. Seltsamerweise lieferte ++$resultlist[$i] zwar die richtige Zeilennummer, d.h. hier wurde plötzlich ein int erkannt, jedoch bedeutet das natürlich, dass die Variable postinkrementiert wird, was ich in diesem Fall aber nicht will.

Wie geht PHP hier vor? Wieso wird einmal ein int, dann wieder ein String erkannt, und wie könnte ich es ohne eine Zusatzvariable lösen? (das o.g. beispiel liefert das richtige Ergebnis, aber eben nur mithilfe der Zusatzvariable $zeile).

Danke für die Antworten,
Markus