Frage

foreach ($_GET as $field => $label)
{
   $datarray[]=$_GET[$field];
   echo "$_GET[$field]";
   echo "<br>";
}
print_r($datarray);

Dies ist die Ausgabe erhalte ich. Ich sehe die Daten gibt es in datarray aber wenn Ich echo $_GET[$field]

ich nur bekommen "Array"

Aber print_r($datarray) druckt alle Daten. Jede Idee, wie ich ziehe diese Werte?

OUTPUT

Array ( 
        [0] => Array ( 
                 [0] => Grade1 
                 [1] => ln 
                 [2] => North America 
                 [3] => yuiyyu 
                 [4] => iuy 
                 [5] => uiyui 
                 [6] => yui 
                 [7] => uiy 
                 [8] => 0:0:5 
                 ) 
)
War es hilfreich?

Lösung

EDIT: Wenn ich Ihren Test abgeschlossen, hier war die letzte URL:

http://hofstrateach.org/Roberto/process.php?keys=Grade1&keys=Nathan&keys=North%20America&keys=5&keys=3&keys=no&keys=foo&keys=blat&keys=0%3A0%3A24

Dies ist wahrscheinlich eine ungültige URL. Wenn Sie doppelte Schlüssel in einer Abfrage übergeben, macht PHP sie ein Array. Die obige URL wahrscheinlich etwas sein sollte wie:

http://hofstrateach.org/Roberto/process.php?grade=Grade1&schoolname=Nathan®ion=North%20America&answer [] = 5 & Antwort [] = 3 & Antwort [] = no & Antwort [] = foo & Antwort [] = blat & time = 0% 3A0% 3A24

Diese individuelle Einträge für die meisten Felder erstellen, und $ _GET machen [ ‚Antwort‘] sein ein Array der vom Benutzer bereitgestellten Antworten.

Fazit:. Fixieren Sie Ihre Flash-Datei

Andere Tipps

Verwenden Sie var_export($_GET), um noch einfacher zu sehen, welche Art von Array Sie bekommen.

Vom Ausgang des Skriptes kann ich sehen, dass Sie mehrere verschachtelte Arrays haben. Es scheint, wie etwas zu sein:

$_GET = array( array( array("Grade1", "ln", "North America", "yuiyyu", "iuy", "uiyui", "yui","uiy","0:0:5")))

so diese Variablen, um aus Sie brauchen etwas wie:

echo $_GET[0][0][0]; // => "Grade1"

auf einem Array Echo Aufruf wird immer ausgegeben "Array". print_r (aus dem PHP-Handbuch) druckt Menschen lesbare Informationen über eine Variable.

Mit <pre> Tags vor print_r, dann haben Sie einen Baum gedruckt (oder an der Quelle anschauen. Von diesem Punkt haben Sie ein klares Verständnis davon, wie Ihr Array ist und in der Lage, den Wert, den Sie wollen ziehen.

Ich schlage vor, das Lesen weiter $_GET Variable und < a href = "http://www.php.net/types.array" rel = "nofollow noreferrer"> Arrays , für ein besseres Verständnis ihrer Werte

Versuchen Sie folgendes:

foreach ($_GET as $field => $label)
{
    $datarray[]=$_GET[$field];

    echo $_GET[$field]; // you don't really need quotes

    echo "With quotes: {$_GET[$field]}"; // but if you want to use them

    echo $field; // this is really the same thing as echo $_GET[$field], so

    if($label == $_GET[$field]) {
         echo "Should always be true<br>";
    }
    echo "<br>";
}
print_r($datarray);

Es ist Druck nur „Array“, weil, wenn Sie sagen,

 echo "$_GET[$field]";

PHP kann nicht wissen, dass Sie $_GET Element $field meine, es sieht es wie Sie Variable $_GET wollen drucken. So versucht sie, es zu drucken, und natürlich ist es ein Array, so dass das, was man bekommt. Im Allgemeinen, wenn Sie ein Array-Element Echo möchten, können Sie es wie folgt tun würde:

echo "The foo element of get is: {$_GET['foo']}";

Die geschweiften Klammern PHP sagen, dass das Ganze eine Variable, die interpretiert werden; sonst wird annehmen, dass es der Variablenname selbst ist $_GET.

In Ihrem Fall wenn Sie nicht, dass brauchen, was Sie brauchen, ist:

foreach ($_GET as $field => $label)
{
    $datarray[] = $label;
}

und wenn Sie es ausdrucken möchten, nur das tun,

echo $label; // or $_GET[$field], but that's kind of pointless.

Das Problem war nicht mit Ihrer Flash-Datei, ändern Sie es zurück, wie es war; Sie wissen, dass es richtig war, weil Ihr $ dataarray Variable alle Daten enthalten sind. Warum möchten Sie Daten aus $_GET in ein anderes Array extrahieren haupt?

Vielleicht sind die GET-Variablen sind Arrays selbst? dh http://site.com?var[]=1&var[]=2

Es sieht aus wie Ihr GET Argument selbst ein Array ist. Es wäre hilfreich, um die Eingabe zu haben sowie die Ausgabe.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top