2016-11-02 3 views
0

は、私は次の形式を持っていると私はチェックボックス配列内のチェックされていないコンボボックスをチェックする方法は?

<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']

と言っている配列です。更新:すべての値が配列に格納されるはずなので、隠しフィールドは使用できません。

+0

んがそれは私がlaravelと権限システムを開発していますただ純粋なPHP – Mntfr

+0

ではありませんが、彼は役割がありアクセス許可をカスタマイズできるように、クライアントがそれを望んでいる、と彼が望んでいますコンボボックスでそれらを選択できるように私は上記のフォームで新しいパーミッションを与えることができますが、選択されていないコンボボックスを検索する方法はわからないので削除できません – Mntfr

+0

配列の使用法を示しています:http://stackoverflow.com/questions/33292526 /設定値のチェックを外したチェックボックス-php/33292573#33292573 – AbraCadaver

答えて

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) 

?> 
0

これを試してみてください:

$unSelected= array_diff(array('user.create', 'user.update', 'user.delete', 'user.read'), $permission); 
関連する問題