Strings in Integer Werte umwandeln

FipsTheThief

Erfahrenes Mitglied
So ich hab folgendes Problem , ich lese im Prinzip eine HTML Seite aus und ziehe mir so die Werte was auch gut funktioniert soweit.

Nun zu meinen Problem ich will das die Anzahl der Siege in einen Integer Wert umgewandelt werden aber jedesmal wenn ich das mache schreibt er mir ne 0 hin

PHP:
<?php

$nick = @$_POST['nick'];
if($nick != "")
{
 	stats_ausgeben($nick);
}
else
{
	form();
}

function stats_ausgeben($nick)
{
	$statsfile = fopen("http://gamestats.gamespy.com/whammer40000/player.asp?nick=$nick" ,"r");
		$i = 1;
		  while(!feof($statsfile))
			{
				$x = nl2br(htmlentities(fgets($statsfile,256)));
				/*echo $i." ".$x; */
				if($i == 129)
					{
						echo fgets($statsfile,256);
					}
				elseif($i == 133)
					{
						echo fgets($statsfile,256);
					}
				elseif($i == 138)
					{
						$wins = fgets($statsfile,256);
			
					}
				elseif($i == 143)
					{
						$losses = fgets($statsfile,256);
						echo $losses;
					}
				$i++;
			}
}

function form()
{
	echo "<form method=\"post\" type=\"text\" action=\"$_SERVER[PHP_SELF]\">";
	echo "<input type=\"text\" name=\"nick\" value=\"Nick\">";
	echo "<input type=\"submit\" value=\"ok\">";
}
?>

$wins soll wie gesagt in einen Integer Wert umgewandelt werden , aber so recht will das nich kann das daran liegen das ich das aus der HTML Datei auslese ?
Wäre für Hilfe dankbar :)

MfG Fips
 
Hi!

Du weist $win nur einen Wert zu, verarbeitest diesen aber nicht.
Die Umwandlung in einen Integer-Wert kannst du vornehmen, indem du einfach (int) vor das $-Zeichen (des Variablennamen) schreibst.

Mamphil
 
n00ne hat gesagt.:
PHP:
$wins = (int)$wins;
ja genau das hab ich probiert , dann gibt er mir ne 0 zurück. Ich weiss strlen gibt auch an das der Wert bei mir war win = 19 ne länge von 19 zeichen hat nicht 2 wie vorgesehen. bei settype($win, "integer") gab er mir ne 1 zurück udn als Typ boolean.

mit $ win = htmlentities(fgets($statsfile,256)) zeigt er mir an

<td>19</td>
 
Die Konvertierung zu dem Variablentyp Integer ist nur sinnvoll, wenn sich die Zahl am Anfang der Zeichenkette steht. Ist dies nicht der Fall, wird der Wert auf 0 gesetzt.
Vielleicht solltest du einfach alle nicht numerischen Zeichen aus der Zeichenkette streichen.
 
Zurück