我有一个像这样的php页面:
<html>
<body>
<form method="post" action="catch_combo.php">
<select name="selr[]" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<input type="submit">
</form>
</body>
</html>
我试图捕捉catch_combo.php中的选定值,如下所示:
<?php
$two;
if(isset($_REQUEST['selr']))
{
$one=$_POST['selr'];
foreach ($one as $a)
{
$two = implode(",", $a);
}
echo $two;
}
?>
当我运行时,它说
'为implode传递了无效的参数'我错过了什么?
答案 0 :(得分:1)
$two = '';
if(isset($_REQUEST['selr']))
{
$one=$_POST['selr'];
foreach ($one as $a=>$value)
{
$two .= ', '.$value;
}
echo $two;
}
无需内爆。
答案 1 :(得分:1)
但更简单的方法是:
$two = implode(',', $_POST['selr']);
答案 2 :(得分:0)
问题是关于为implode()
implode()
的第二个参数必须是数组。
示例代码中的$ a 不是数组。
答案 3 :(得分:0)
你没有将数组传递给implode()
,这就是它抱怨的原因。试试这个:
if (isset($_REQUEST['selr'])) {
echo implode(',', $_REQUEST['selr']);
}