String in Integer umwandeln...

  • Themenstarter Themenstarter Escorte
  • Beginndatum Beginndatum
E

Escorte

Hi!

Kann mir jmd sagen wie ich einen String in einen Variablen in einen Integerwert umwandeln kann?

$wert = "07";

Jetzt würde ich gerne 1 hinzuaddieren, so dass ich 8 herausbekomme...

$neuwert wäre dann "8";

Geht das?

Danke,
E.
:smoke:
 
einfach dazu addieren Php merkt den wechsel von String auf integer glaub ich selbst.


Tob

aus dem Handbuch
Typen-Tricks
PHP erfordert (bzw. unterstützt) keine explizite Typ-Definitionen bei der Deklaration von Variablen; der Typ einer Variablen wird bestimmt durch den Zusammenhang in dem die Variable benutzt wird. Das bedeutet, dass bei der Zuweisung einer Zeichenkette / eines Strings zu einer Variablen var diese Variable var den Typ String erhält. Sollten sie dananch der Variablen var einen Integer-Wert zuweisen, wird sie zu einem Integer-Typ.

Ein Beispiel für die automatische Typ-Konvertierung von PHP ist der Plus-Operator '+'. Ist einer der zu addierenden Werte vom Typ double, werden alle Werte als double-Typ gehandhabt. Auch das Ergebnis der Addition wird vom Typ double sein. Ist dies nicht der Fall, werden Werte als Integer-Typen angesehen und das Ergebnis wird ebenfalls vom Typ Integer sein. Beachten sie, dass hierdurch nicht der Typ der Additions-Elemente selbst beeinflusst wird; der Unterschied liegt einzig und allein in der Auswertung dieser Elemente.


$foo = "0"; // $foo ist vom Typ String (ASCII 48)
$foo++; // $foo ist immer noch vom Typ String,
Inhalt "1" (ASCII 49)
$foo += 1; // $foo ist jetzt vom Typ Integer (2)
$foo = $foo + 1.3; // $foo ist nun vom Typ double (3.3)
$foo = 5 + "10 Little Piggies"; // $foo ist vom Typ Integer (15)
$foo = 5 + "10 Small Pigs"; // $foo ist vom Typ Integer (15)
 
Jo! Einfach $wert +1 und fertich! Es würde sogar funktionieren wenn du einen kompletten Satz hättest... ;)

Der Auszug von Tob sagt alles!
 
Ich habe genau das selbe Problem. Nur dass PHP bei mir nicht selber merkt, dass er die Eins nun dazuaddieren muss!

Mein Code:
PHP:
<?php
 $dateiname = "dl_counter_altersvorschriften.txt";
 $array = file($dateiname);
 $array[0] += 1;
 $text = $array[0];
 $handler = fOpen($dateiname , "a+");
 fWrite($handler , $text);
 fClose($handler);
?>

Statt dass nun von 0 aufwärts gezählt wird, also 0, 1, 2, 3, ... kommt folgendes: 0, 01, 011, 0111, ...


Kann mir da jemand helfen?

Danke im Voraus!


MfG flogy92
 
Das hat nichts mit der Arbeitsweise von PHP zu tun, sondern mit der Weise, wie du die Datei öffnest. Dein Handler öffnet sie mit "a+", wobei "a" für "append" steht, also anhängen.

Benutze "w+" und alles sollte funktionieren.
 
Zur Umwandlung der Typen kann man auch casts benutzen:


(int), (integer) - nach integer
(bool), (boolean) - nach boolean
(float), (double), (real) - nach float
(string) - nach string
(array) - nach array
(object) - Wandlung zum Objekt

PHP:
$foo = 10;   // $foo is an integer
$bar = (boolean) $foo;   // $bar is a boolean
 
Zurück