【问题标题】:PHP Get input namePHP 获取输入名称
【发布时间】:2016-07-05 13:18:29
【问题描述】:

在使用_GET 发布表单时,我想获取输入名称

提交后查看以下部分网址

.php?14=0&15=0&16=0&17=0&18=0&19=0

我知道如何获取变量 E.G:

$14=$_GET["14"]; 

0

但是,是否可以这样做并获取输入名称(例如 14),然后将它们转换为变量? (将输入名称保存到数据库)

【问题讨论】:

  • 你想在数据库中插入什么? 14,15,16?每个单独的行?
  • 是的,我有一个名为 question name 的列和另一个名为 answer 的列,所以列名需要为 14,如果有意义,则 answer 需要为 0?

标签: php forms input get


【解决方案1】:

要获取所有$_GET 参数,您可以这样做:

foreach($_GET as $key => $value){
    echo "Key is $key and value is $value<br>";
}

这将输出每个键(14、15、16 等)和值(0、0、0 等)。


要将变量名与变量字符串绑定,请查看variable variables

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

因此,您将拥有以下具有以下值的变量:

$14 = 0;
$15 = 0;
$16 = 0;
// etc...

或者(因为您不一定知道键/值对是什么),您可以创建一个空数组并将这些键和值添加到其中:

foreach($_GET as $k => $v){
    $arr[$k] = $v;
}

结果数组将是:

$arr[14] = 0;
$arr[15] = 0;
$arr[16] = 0;
// etc...

【讨论】:

  • 我怎样才能把这些变成变量? (将输入名称保存到数据库)
【解决方案2】:

使用单循环的解决方案(更新):

如果您只是单次使用问题/答案,您可以像这样在单循环中进行,

<?php

foreach($_GET as $key => $value){
    $question = $key;
    $answer = $value;

    // Save question and answer accordingly.
}

如果您将使用问答来执行其他操作,请使用以下方法。


您可以使用array_keys() 获取所有,其中$_GET 是一个数组。

这样使用,

<?php
     $keys=array_keys($_GET);
     print_r($keys); // this will print all the keys
     foreach($keys as $key) {
         // access each key here with $key
     }

更新:

你可以制作一对question,answer数组并把它放在主数组中,这样就可以将它插入到数据库中,

<?php
         $mainArray=array();
         $keys=array_keys($_GET);
         foreach($keys as $key) {
             // access each key here with $key
             $questionAnswerArray=array();
             $questionAnswerArray["question"]=$key;
             $questionAnswerArray["answer"]=$_GET[$key];
             $mainArray[]=$questionAnswerArray;
         }

         // Now traverse this array to insert the data in database.
         foreach($mainArray as $questionanswer) {
              echo $questionanswer["question"]; //prints the question
              echo $questionanswer["answer"]; // prints the answer.
         }

【讨论】:

  • 谢谢,查看更新的问题,我希望将这些转换为变量,以便将它们添加到数据库中
  • 谢谢,这显示为Array ( [0] =&gt; 14 [1] =&gt; 15 [2] =&gt; 16 [3] =&gt; 17 [4] =&gt; 18 [5] =&gt; 19 ) 140150160170180190 我如何将这些添加到我的数据库中?
  • 您可以使用$questionanswer["question"]添加问题栏,使用$questionanswer["answer"]添加答案栏。
猜你喜欢
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多