PHP 获取多选列表值

发布于 2024-12-25 12:13:44 字数 543 浏览 0 评论 0原文

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

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/>';

谢谢!

I'm trying to write a simple function to construct field names for a form. It works fine if at least one value is selected in a multi-select list but if nothing is selected I get an Undefined index error. Here is what I have:

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/>';

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅听莫相离 2025-01-01 12:13:44

您只需要保护自己不读取 $_POST 中不存在的密钥即可:

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

You just need to protect yourself from reading a key that does not exist in $_POST:

$mcField = isset($_POST[$mcFieldName]) ? $_POST[$mcFieldName] : null; 
我的奇迹 2025-01-01 12:13:44

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

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

Before you try to access an array item make sure it exists with using isset():

if (isset($_POST[$mcFieldName])) {
    $mcField = $_POST[$mcFieldName];
    ...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文