将具有相同变量名的多个GET值组合成一个字符串

blu*_*iel 0 php forms url

我有一个表单,它在表单中发送大量的GET ['var'].

我已经弄清楚如何设置它发送var [1] = data&var [2] = some&var [3] = thing等等

但是如何捕获每个变量并将其组合成一个字符串,用","分隔?

所以$ var = data,some,thing

更新:

对不起,我应该提到我已经有了破坏字符串的功能,但我不知道如何将所有Var [n]组合成一个$ var字符串.

希望这是有道理的!

解决了!

谢谢Kazar,你的第一个答案实际上是一种享受!它要求我改变我的剧本,但你的方式现在肯定对我有意义

Kaz*_*zar 7

php implode函数将数组的内容连接在一起,使用字符串在它们之间插入,如下所示:

$var = implode(',', $_GET['var']);
Run Code Online (Sandbox Code Playgroud)

另外需要注意的是,var的各种元素出现的顺序取决于查询字符串中的顺序,因此字符串可能看起来像'var2,var0,var1'.为了解决这个问题,您可能需要先进行密钥排序:

$var = $_GET['var'];
ksort($var);
$joinedString = implode(',', $var);
Run Code Online (Sandbox Code Playgroud)

编辑:根据问题编辑:

假设你的意思是再次创建查询字符串......?

$var = $_GET['var'];
$components = array();

foreach($var as $key=>$value) {

  $components[] = "var[" . $key . "]=" . $value;

}

$string = implode('&', $components);
Run Code Online (Sandbox Code Playgroud)

可能有助于更详细的描述.