如何检查数组中未经检查的组合框?

时间:2016-11-02 16:43:19

标签: php arrays checkbox

我有以下表格,我需要检查未选中的方框

<input type="checkbox" name="permission[]" value="user.create">Create</input>
<input type="checkbox" name="permission[]" value="user.update">Update</input>
<input type="checkbox" name="permission[]" value="user.delete">Delete</input>
<input type="checkbox" name="permission[]" value="user.read">Read</input>
<input type="submit" name="submit" value="Submit"/>

它现在的方式它给了我一个像permission['user.create'.'user.read'.'user.delete']这样的数组。 我需要的是另一个数组,例如unSelected['user.update']

更新:我无法使用隐藏字段,因为所有值都应该存储在数组中。

2 个答案:

答案 0 :(得分:0)

您可以拥有一个包含所有允许值的预定义主数组,当您提交表单时,您将拥有已检查的表单,现在您可以使用array_diff来隔离未经检查的表单。

<?php
$a = array('a','b','c','d','e'); //main array

$b = array('a','c','e'); //submitted array

$c = array_diff($a, $b);

print_r($c); //will give Array ( [1] => b [3] => d )

?>

答案 1 :(得分:0)

试试这个:

$unSelected= array_diff(array('user.create', 'user.update', 'user.delete', 'user.read'), $permission);