mit foreach in array schreiben?

tommi13

Mitglied
Hallo,

ich hab folgendes Problem mit dieser Funktion:
Code:
$k = 0;
foreach ($usrcty as $key) {
	$val[$k] = $key;
	$k++;
}
Der Wert in $usrcty setzt sich aus mehreren Checkboxen zusammen wo als Wert immer eine Zahl drin steht.
Wenn ich jetzt allerdings den Wert "$val[$k]" benutzen will und der eigentliche wert der reingeschrieben wurde größer als 9 ist (bzw mehr als ein Zeichen) wird nur das erste Zeichen ausgegeben.

Also wenn ich eigentlich die Werte 2,6,12 hab erhalte ich über die funktion 2,6,1

Was mach ich da falsch?

thx tommi
 
Na wenn ich z.B. so machen:
Code:
$k = 0;
foreach ($usrcty as $key) {
	$val[$k] = $key;
	echo "-".$val[$k]."-".$key."<br>";
	$k++;
}
Dann wird bei dem beispiel 2,5,12 folgendes ausgegeben:
-2-2
-5-5
-1-12
 
Dann müsstest du mal $usrcty überprüfen, bei mir kommt mit
Code:
$usrcty=array(2,5,12);
...erwartungsgemäss folgendes Ergebnis
Code:
-2-2
-5-5
-12-12
 
Sven Mintel hat gesagt.:
Dann müsstest du mal $usrcty überprüfen, bei mir kommt mit
Code:
$usrcty=array(2,5,12);
...erwartungsgemäss folgendes Ergebnis
Code:
-2-2
-5-5
-12-12
Das hab ich doch hier überprüft:

echo "-".$val[$k]."-".$key."<br>";

Da steht in der Variable $key ja der richtige Wert drin. Nur bei $val[$k] scheint mir das da nur das erste Zeichen ausgegeben wird...
 
Hat es irgendeinen bestimmten Grund warum du nicht mit $usrcty arbeitest, sondern den Namen des Arrays änderst?
 
woni hat gesagt.:
Hat es irgendeinen bestimmten Grund warum du nicht mit $usrcty arbeitest, sondern den Namen des Arrays änderst?
Ne eigentlich nicht... Ist das den schlimm?
Ist da denn irgendwas an der Art wie ich das gemacht habe falsch?
 
Nein falsch ist daran nichts, ich finde es nur unlogisch.
Wenn man einen Code hat, der gar nichts verändert, aber trotzdem einen Fehler verursacht, ist das für mich nicht nachvollziehbar wieso man den Code drinnen lässt.
Du hast viel mehr ein anderes Problem, denn der Code den du hier gepostet hast ist vollkommen korrekt.

Greetz woni
 
Zurück