我的页面中有一些表单,如:
<form method="get">
Enter Your Firstname :<input type="text" name="t1" />
Enter Your Lastname :<input type="text" name="t2" />
<input type="submit" name="sb" />
</form>
因此用户将填写此表单,我希望以逗号
分隔此表单的值例如
John,Smith
James,Baker
所以这是我的PHP代码
if ( isset ($_GET['sb']))
{
$t_array = array("t1","t2");
foreach ( $t_array as $key )
{
echo implode(',' , $_GET[$key]);
}
}
当我尝试这样做时,我收到了这个错误:
Warning: implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed in PATH on line 24
我不知道为什么我不能在$ _GET或$ _POST
中使用implode那我怎么解决这个问题呢?
P.S:我想在我的页面中使用数组和内爆,请不要写其他方式
答案 0 :(得分:3)
您的逻辑中存在错误。
以下是可能对您有帮助的示例代码:
$t_array = array($_GET['t1'], $_GET['t2']);
$imploded = implode(',', $t_array);
echo $imploded;
这样可行。
答案 1 :(得分:1)
你在一个值而不是一个数组上调用implode。这段代码
echo implode(',' , $_GET[$key]);
在$_GET[$key]
上调用它,这是一个字符串。
您正在尝试implode($_GET);
。
答案 2 :(得分:0)
你需要的是如下所示,你实际上并不需要内爆:
if ( isset ($_GET['sb']))
{
$t_array = array("t1","t2");
$result = '';
foreach ( $t_array as $key )
{
if ($result != '') $result .= ',';
$result .= $_GET[$key];
}
}
答案 3 :(得分:0)
你不能拼写字符串......
尝试这样的事情:
if ( isset ($_GET['sb']))
{
$t_array = array("t1","t2");
$arr = array();
foreach ( $t_array as $key )
{
$arr[] = $_GET[$key];
}
echo implode(',' , $arr);
}