使用implode组合多个选择

时间:2009-11-19 10:10:24

标签: php

我有一个像这样的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传递了无效的参数'我错过了什么?

4 个答案:

答案 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']);
}