繁体   English   中英

PHP如何将多个if语句合并为一个函数

[英]PHP how to combine multiple if-statements into one function

根据复选框的值,此表单会将订户添加到相应的列表中,但不能保存多个值。

如何合并才能选择和保存多个复选框值?

if(isset($_POST['checkbox_list']) && in_array('Austin Metro', $_POST['checkbox_list'])){
    $listID = '3';
    if ($listID){
        $indeed_mail->indeed_wysija_subscribe( $listID, $email );
    }
    break;
} else if(isset($_POST['checkbox_list']) && in_array('Central Austin', $_POST['checkbox_list'])){
    $listID = '4';
    if ($listID){
        $indeed_mail->indeed_wysija_subscribe( $listID, $email );
    }
    break;
} else if(isset($_POST['checkbox_list']) && in_array('Georgetown', $_POST['checkbox_list'])){
    $listID = '5';
    if ($listID){
        $indeed_mail->indeed_wysija_subscribe( $listID, $email );
    }
    break;
}

这可能是您要寻找的...?

$myValues = array('Austin Metro','Central Austin','Georgetown');
$myIds = array('3','4','5');

if (isset($_POST['checkbox_list']) && array_search($_POST['checkbox_list'], $myValues) !== false)
{
    $index = array_search($_POST['checkbox_list'], $myValues);
    $indeed_mail->indeed_wysija_subscribe( $myIds[$index], $email );
}

编辑:我刚刚读了你上面的评论...

要将您的复选框作为数组使用,请使用:

<input type="checkbox" name="checkbox_list[]" value="Austin Metro">
<input type="checkbox" name="checkbox_list[]" value="Central Austin">
<input type="checkbox" name="checkbox_list[]" value="Georgetown">

然后

foreach($_POST['checkbox_list'] as $check) 
{
    // do your stuff as explained above...
    if (isset(check) && array_search($check, $myValues) !== false)
    {
        $index = array_search($check, $myValues);
        $indeed_mail->indeed_wysija_subscribe( $myIds[$index], $email );
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM