PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : foreach Frage


Infinity
11.01.2007, 16:16:08
Also etz funtzt mein foreach plötzlich nicht

bitte um Hilfe

foreach ($_POST as $key=>$element) {
$key = $element;
}

so das hier ist mein POST array:
Array ( [name] => sadkjbsdlkjbsdfl [email] => abc@abc.de [hp] => [icq] => [text] => asdaäsd asldm ädlömv [senden] => Eintragen )

so wenn ich nun zB die $name aufrufe, dann bakomm ich nichts geechot warum???

Socrates
11.01.2007, 16:46:38
Hi!
Ich verstehe den sinn dieser Zeilen nicht! Mit foreach wird jeder Wert des Arrays vorrübergehend einer Variable zugeordnet und dann zB gelistet. Warum ordnest du die zugeordnete Variable wieder einer anderen zu? Außerdem kannst du das gaze verkürzen.

<?
$lol = array("Rose", "Tulpe", "Nelke", "Sonnenblume");
foreach($lol as $meines)
{
echo $meines;
echo "<br>";
}
?>

Ist das gleiche wie deins, bloß, dass bei dir auch der aktuelle Schlüssel der Variablen $key zugewiesen wird.
MfG, Andy

Infinity
11.01.2007, 16:50:29
ALso ich will das so haben meine variablen aus dem Formular zB $_POST['name'] wird zu $name und $_POST['...'] zu $... usw.

und ich dache so würde ich das schaffen
aber anscheinend net

Opendix
11.01.2007, 17:15:20
für was willst du den das machen?
ich halte es für sinvoller, diese so zu belassen da du dann immer siehst wo du auf variabeln zugreiffst die aus einem formular kommen und die du wahrscheinlich prüfen musst vor dem gebraucht...

wenn du nun aus all den $_POST[..] einfach ein $.. machst siehst du das nicht mehr...

aber ich denke das würde mit extract gehen!

edit:
und zu deiner for:
du willst ja eine variabel die so heisst wie der inhalt von $key...

also müsstest du das da so machen:


foreach($array as $key => $value)
{
$$key = $value;
}

www.php.net/extract

Infinity
11.01.2007, 17:24:46
Das hab ich vorhin au scho probiert,da gings net aber etz plötzlich doch, ok danke schon ma und dann hab ich noch ne frage ich würde darein gerne noch integrieren, dass die value mit ner function bearbeitet wird, aber wenn ich
$$key = abc($value);
mache gehts net, weiß da jmd Rat??

Socrates
11.01.2007, 18:05:08
hi!
Also erstens ist da ein $ zuviel und dann musst du erst die Variable definieren und dann kannste daraus ne funktion basteln! Was auch immer du damit bezweckst!?

<?php
foreach($array as $key => $value)
{
$key = $value;
$lol = abc($value);
}
?>

Müsste so stimmen!
MfG, Andy

Opendix
11.01.2007, 18:17:17
ne eigentlich müsste das auch mit $$ gehen!
Dann tippe ich spontan darauf, dass die funktion abs() irgendwas falsch macht...