1

我有一个基本的逻辑问题。我的目标是从表单中取出选定的复选框,将它们作为数组提交,然后将值与函数数组匹配。我试图找到一种将所选输入与函数数组相匹配的方法,这样我就不会以 if {} elseif{} 语句的页面结束,以涵盖越来越多的选项。

这是我如何设置包含一组复选框的网络表单的示例。我正在使用“[]”将选定的值作为数组传递。

网络表格:

<input type="checkbox" name="action[]" value="open" checked>open</input>
<input type="checkbox" name="action[]" value="close">close</input>
<input type="checkbox" name="action[]" value="lift">lift</input>
<input type="checkbox" name="action[]" value="drop">drop</input>
<input type="checkbox" name="action[]" value="destroy">destroy</input>
<input type="checkbox" name="action[]" value="create">create</input>

php后处理程序

$o = open();
$c = create();
$l = lift();
$d = drop();
$de = destroy();
$cr = create();

$mysvcs = array($o, $c, $l, $d, $de, $cr);


//stuck here
$action = $_POST['action'];
$postsvc = implode(",", $action );  

$req = strstr($mysvcs, $postsvc);

?>

我觉得我可能会以完全错误的方式解决这个问题,并希望社区提供任何指导。

非常感谢

-澳洲恶魔

4

1 回答 1

0

如果要执行检查的功能,以下代码应该可以工作:

function open() {} //your open declaration 
function close() {} //your close declaration 
function lift() {} //your lift declaration 
//all other declarations

foreach($_POST['action'] as $a){
    $a();//execute matching function 
}
于 2013-03-17T13:25:39.200 回答