Archiv verlassen und diese Seite im Standarddesign anzeigen : Anzeigen aller definierten Variablen
hi, wie kann ich mir (kann ich überhaupt) alle variablen, die ich aus einem vorherigen script bekomme, anzeigen lassen?
ohne die variablennamen überhaupt zu kennen, weil die
Variablen fortlaufend nummeriert sind z.B.
$wert1
$wert2
$wert3... usw.
Darksaber
05.12.2002, 21:08:55
versuchs mal mit
array get_defined_vars ()
kannst du mir vieleicht noch ein bisschen mehr dazu geben?
ich find denn array befehl nicht.....
wenn ich nen echo davor mache steht da nur array im browser fenster :(
Was zurückgegeben wird, ist ein Wert (o. a. Variable) vom Typ Array.
Ansehen kannst du Arrays mit print_r($array);
//Oder für get_defined_vars() direkt:
print_r(get_defined_vars());
Darksaber
05.12.2002, 22:02:09
hi
ich geb zu, ih hab die funktion selber noch nie benutz/benötig, deshalb ist mir erst jetzt aufgefallen, dass sie ALLE variablen ausgibt, auch die system und umgebungsvariablen.
Und das ist es wohl kaum was du brauchst.
sorry aber ne andere Lösung fällt mir jetzt auch net ein.
=) ich habs gelöst
weis leider net wie der forum befehl ist für denn code....
zumindest siehts dann so aus :)
<?
$wert= array_keys(get_defined_vars());
print_r(array_keys(get_defined_vars()));
echo "<br><br><br>";//,$wert[34];
...
...
$eigenschaften=$eigenschaften.$$wert[$b]." ".$$wert[$c].$d;
//
}
echo $eigenschaften;
...
hat mir denn entscheidenden tipp gegeben thx
ich schau mir auch mal deinen vorschlag an dago aber morgen...
*gähnt*
nina was willst du machen? ichglaube du gehst da einen falschen weg, der einfach zu kompliziert ist :)
naja...
ich hab ein script das erstellt mir eine tabelle die man bestimmen kann wie groß sie ist jedes feld der tabelle erzeugt eine forlaufende Variable also $wert1 .....
dann hab ich ein weiteres script wohin die ganzen variablen weitergeleitet werden (also mit <form></form>)
und in diesem script muss ich mir alle $wert variabelen ausgeben lassen aber da die $wert variablen ja unendlich groß sein können kann ich das ja schlecht vordefinieren.
also brauche ich einen befehl/e der mir die ganzen $wert variablen ausgibt (while schleife etc...)
aber das geht ja schlecht da ich ja nicht $wert++
machen kann oder so
deswegen dachte ich das ich mir mal alle variablen ausgeben lasse und das dann irgendwie filtere (was auch klappt)
hat jemand eine einfachere lösung weil das schon recht verwirrend ist was ich da hab?
Gaaanz einfach ;)
Lass dir die $werte-Variablen als Array vom Browser zurückgeben.
Dann kannst du mit foreach ($werte as $wert)
echo $wert; alle Werte durchlaufen.
Damit PHP aus den Variablen auch ein Array macht, müssen die Namen der Input-felder des Formulars so lauten: werte[]
Nochmal als Ganzes:
<?php
foreach ($werte as $wert)
echo $wert;
?><form action="" method="post">
<input type="text" name="werte[]" /><br />
<input type="text" name="werte[]" /><br />
<input type="text" name="werte[]" /><br />
<input type="submit" />
</form>
Du siehst, alle Input-Namen sind gleich. Trotzdem wird jedes einzelne Feld an PHP übergeben.
cu
dago
hmmm fehlt da nicht noch ein array oder sowas? alleine das geht nicht.....
Warning: Invalid argument supplied for foreach() in C:apachehtdocstrashtest1.php on line 3
in zeile drei als bei
foreach ($werte as $wert)
ist noch garkeine variable gesetzt...
aber erlich gesagt kenne ich mich mit arrays nicht wirklich aus :/
Das ist klar. Sende das Form. mal ab, und es wird gehen (Weil PHP die Var. dann bekommt).
ABER: Das war auch nur ein Beispiel zum Verständnis =)
Für deine Tabelle musst du es sowieso anders schreiben...
hmhm überseht das was ich da oben geschrieben habe war ein bisschen verwirrt ;)
jetzt geht es
PS: danke schön :) das forum ist sehr hilfreich ich glaub hier bleib ich
das ist es :)
<?
$a=-1;
$b=-1;
$c=-1;
$d=0;
$tabcreate="";
$komma=", ";
while($d != $zeilen){
$a++;
$b++;
$c++;
$d++;
if ($zeilen == $d)
{
$komma=" ";
}
$var = array($wert[$a]," ",$typ[$b],$lange[$c],$komma);
foreach ($var as $value){
echo $value;
$tabcreate=$tabcreate.$value;
}
}
echo "<br><br><br>",$tabcreate;
?>
vBulletin® v3.8.3, Copyright ©2000-2024, Jelsoft Enterprises Ltd.