[英]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.