PHP获取多选列表值

时间:2012-01-09 02:19:16

标签: php function select-menu

我正在尝试编写一个简单的函数来为表单构造字段名称。如果在多选列表中选择了至少一个值但是如果没有选择任何值,则它会正常工作我得到一个未定义的索引错误。这就是我所拥有的:

function mcFieldName($mcFieldName){
$mcField = $_POST[$mcFieldName];
if( !is_array($mcField) ){
    if( !empty($mcField) ){
        return $mcField;
    }else{
        return 'n/a';
    }
}
if( is_array($mcField) ){
    $mcFieldArray = implode(',', $mcField);
    return $mcFieldArray;
}

}

$MultiSelect = mcFieldName('mcMultiSelect');
// test
echo $MultiSelect . '<br/>';

谢谢!

2 个答案:

答案 0 :(得分:1)

您只需要保护自己免于阅读$_POST中不存在的密钥:

$mcField = isset($_POST[$mcFieldName]) ? $_POST[$mcFieldName] : null; 

答案 1 :(得分:1)

在尝试访问数组项之前,请确保使用isset()

if (isset($_POST[$mcFieldName])) {
    $mcField = $_POST[$mcFieldName];
    ...
}