Andre: Type-Casting von String zu Integer funktioniert nach GET nicht.

Beitrag lesen

einen schönen guten abend.
ich habe folgendes problem ich will mir aus meiner url die übergebenen parameter herausholen und diese dann weiter verarbeiten. Das funktioniert mit GET auch ohne Probleme. Bloß wollte ich im weiteren mit dem Wert ein bisschen herumrechnen doch dies führte immer zu falschen werten, da die Werte als Strings interpretiert wurden. Um das zu verhindern wollte ich sie einfach mit dem aufruf von (int)$Varible zu einem integer casten. Hieran probiere ich mich jetzt schon mindestens anderthalb stunden rum und habe auch google schon zur genüge gequält. und letztendlich sitze ich immer wieder vor genau dem quelltext den ich auch benutze, bloß dass dieser bei mir nicht funktioniert.

Meine url war :
http://localhost/Profil.php?id='8944'&key='8945'

und ich habe meine funktion die ich in php geschrieben hab jetzt schon so weit erweitert und immer wieder die ergebnisse ausgeben lassen, dass die situation hoffentlich einigermaßen nachvollziehbar ist.

  
<?php  
  
	 $string = <<< heredoc  
				<html>  
				</html>  
  
heredoc;  
  
echo $string;  
  
  
  
function GetUsersID() {  
	 $CodedUsersID = $_GET["id"];  
	 echo "CodedUsersID ohne konvertierung = ".$CodedUsersID."<br />";  
	 $Y = "8944";  
	 echo "Y ohne konvertierung = ".$Y."<br />";  
	 if (is_string($CodedUsersID) && is_string($Y) ) {  
		 echo "CodedUsersID und Y sind Strings.<br />";  
	 }  
	 if ($CodedUsersID == $Y) {  
		 echo "CodedUsersID und Y sind vom Wert her gleich.<br />";  
	 } else {  
		 echo "CodedUsersID und Y sind vom Wert her nicht gleich.<br />";  
	 }  
	 if ($CodedUsersID === $Y) {  
		 echo "CodedUsersID und Y sind identisch.<br />";  
	 } else {  
		 echo "CodedUsersID und Y sind nicht identisch.<br />";  
	 }  
	 $int_CodedUsersID = (int) $CodedUsersID;  
	 echo "CodedUsersID zu int konvertiert = ".$int_CodedUsersID."<br />";  
	 $int_Y = (int) $Y;  
	 echo "Y zu int konvertiert = ".$int_Y."<br />";  
	 if (is_int($int_CodedUsersID) && is_int($int_Y)) {  
		 echo "CodedUsersID und Y sind integer.<br />";  
	 }  
	 if ($CodedUsersID == $Y) {  
		 echo "CodedUsersID und Y sind nach der Konvertierung vom Wert her gleich.<br />";  
	 } else {  
		 echo "CodedUsersID und Y sind nach der Konvertierung vom Wert her nicht gleich.<br />";  
	 }  
	 if ($CodedUsersID === $Y) {  
		 echo "CodedUsersID und Y sind nach der Konvertierung identisch.<br />";  
	 } else {  
		 echo "CodedUsersID und Y sind nach der Konvertierung nicht identisch.<br />";  
	 }  
	  
  
}  
  
GetUsersID();  
  
?>  

nach aurufen des php-skriptes gibt der browser dann folgendes aus :

CodedUsersID ohne konvertierung = '8944'
Y ohne konvertierung = 8944
CodedUsersID und Y sind Strings.
CodedUsersID und Y sind vom Wert her nicht gleich.
CodedUsersID und Y sind nicht identisch.
CodedUsersID zu int konvertiert = 0
Y zu int konvertiert = 8944
CodedUsersID und Y sind integer.
CodedUsersID und Y sind nach der Konvertierung vom Wert her nicht gleich.
CodedUsersID und Y sind nach der Konvertierung nicht identisch.

ich hoffe irgendjemand kann mir weiterhelfen. Wahrscheinlich bin ich einfach gerade etwas blind und der Fehler ist ganz offensichtlich aber ich komme im moment einfach überhaupt nicht weiter und würde mich über jede hilfe freuen!
vielen dank im voraus
mfg