foreach ($_GET as $field => $label) { $datarray[]=$_GET[$field]; echo "$_GET[$field]"; echo " "; } print_r($datarray);
0
0
foreach ($_GET as $field => $label) { $datarray[]=$_GET[$field]; echo "$_GET[$field]"; echo " "; } print_r($datarray);
'' '' '
これは私が得ている出力です。 データがdatarrayにあるのがわかりますが、 `$ _GET [$ field]`をエコーしたとき
私は「配列」だけを得ます
しかし `print_r($ datarray)`はすべてのデータを印刷します。 どのように私はそれらの値を引っ張るのですか?
Array ( [0] => Array ( [0] => Grade1 [1] => ln [2] => North America [3] => yuiyyu [4] => iuy [5] => uiyui [6] => yui [7] => uiy [8] => 0:0:5 ) )
8 Answer
1
どのような種類の配列を取得しているのかを簡単に確認するには、 `var_export($ _ GET)`を使用します。
スクリプトの出力から、複数の入れ子になった配列があることがわかります。 それは次のようなもののようです。
$_GET = array( array( array("Grade1", "ln", "North America", "yuiyyu", "iuy", "uiyui", "yui","uiy","0:0:5")))
これらの変数を取り出すためには、次のようなものが必要です。
echo $_GET[0][0][0]; // => "Grade1"
1
編集:私があなたのテストを完了したときに、ここに最終的なURLがありました:
これはおそらく不正なURLです。 クエリで重複キーを渡すと、PHPはそれらを配列にします。 上記のURLはおそらく次のようになります。
これにより、ほとんどのフィールドに個別のエントリが作成され、$ _GET ['answer']がユーザーから提供された回答の配列になります。
結論:Flashファイルを修正してください。
0
``を使う
tags before print_r, then you will have a tree printed (or just look at the source. From this point you will have a clear understanding of how your array is and will be able to pull the value you want. I suggest further reading on $_GET variable and arrays, for a better understanding of its values
0
配列に対してechoを呼び出すと、常に "Array"が出力されます。 print_r(PHPマニュアルから)は、変数についての人間が読める情報を出力します。
0
これを試して:
foreach($ _GET as $ field => $ label){$ datarray [] = $ _ GET [$ field]; echo $ _GET [$ field]; //本当に引用符は必要ありません echo "引用符付き:{$ _GET [$ field]}"; //しかしそれらを使いたい場合 echo $ field; //これはecho $ _GET [$ field]と同じです。 if($ label == $ _GET [$ field]){echo "常にtrueであるべきです"; } エコー " "; print_r($ datarray);
0
あなたが言うときにそれはちょうど "配列"を印刷している
echo "$_GET[$field]";
PHPはあなたが $ _GET`要素の
$ field`を意味していることを知ることができません、それはあなたが変数 `$ _GET`を印刷したいのだとそれを見ます。 それで、それはそれを印刷しようとします、そしてもちろんそれは配列です、それでそれはあなたが得るものです。 一般に、配列要素をエコーしたいときは、次のようにします。
echo "The foo element of get is: {$_GET['foo']}";
中括弧は、全体が解釈される必要がある変数であることをPHPに伝えます。そうでなければ、変数名はそれ自身が `$ _GET`であると仮定します。
あなたの場合あなたはそれを必要としませんが、あなたが必要とするものは次のとおりです。
foreach ($_GET as $field => $label) { $datarray[] = $label; }
印刷したい場合は、
echo $label; // or $_GET[$field], but that's kind of pointless.
問題はフラッシュファイルにはありませんでした。元の状態に戻します。あなたの$ dataarray変数がすべてのデータを含んでいたので、あなたはそれが正しいことを知っています。 どうしてあなたはとにかく `$ _GET`から別の配列にデータを抽出したいのですか?
-1
おそらく、GET変数は配列そのものなのでしょうか。 すなわち http://site.com?var%5B%5D=1
-1
あなたのGET引数はそれ自体が配列であるように見えます。 入力と出力があると便利です。