私は権限レベルのシステムなので、配列から私のpreviosの選択された権限を削除する必要があります。たとえば:PHPがarray_diff_assoc()のためにinverseを返し、重複した値を削除しました
My permissions: read, write
All permissions: read, write, update, delete
I need return: update, delete
問題:array_diff_assoc
()は、正確なキーを比較し、[0] = [0]、私は値ではないキーを比較して、私&過去の選択の権限ではなく、削除された値、なしにすべての権限を返す必要があります。
res['all_withou_pre_selected_permissions'] = array_diff_assoc($all_permissions,$res['my_permissions']);
print_r($res['all_withou_pre_selected_permissions']);
マイ配列と戻り
My permissions
array(2) {
[0]=>
array(6) {
["Modulo"]=>
string(15) "Administradores"
[0]=>
string(15) "Administradores"
["Tipo"]=>
string(9) "Adicionar"
[1]=>
string(9) "Adicionar"
["Nome"]=>
string(3) "kin"
[2]=>
string(3) "kin"
}
[1]=>
array(6) {
["Modulo"]=>
string(15) "Administradores"
[0]=>
string(15) "Administradores"
["Tipo"]=>
string(7) "Excluir"
[1]=>
string(7) "Excluir"
["Nome"]=>
string(3) "kin"
[2]=>
string(3) "kin"
}
}
All Permissions
array(8) {
[0]=>
array(4) {
["Modulo"]=>
string(15) "Administradores"
[0]=>
string(15) "Administradores"
["Tipo"]=>
string(9) "Adicionar"
[1]=>
string(9) "Adicionar"
}
[1]=>
array(4) {
["Modulo"]=>
string(15) "Administradores"
[0]=>
string(15) "Administradores"
["Tipo"]=>
string(6) "Editar"
[1]=>
string(6) "Editar"
}
[2]=>
array(4) {
["Modulo"]=>
string(15) "Administradores"
[0]=>
string(15) "Administradores"
["Tipo"]=>
string(7) "Excluir"
[1]=>
string(7) "Excluir"
}
[3]=>
array(4) {
["Modulo"]=>
string(15) "Administradores"
[0]=>
string(15) "Administradores"
["Tipo"]=>
string(3) "Ler"
[1]=>
string(3) "Ler"
}
Return of PHP code
array(6) {
[2]=>
array(4) {
["Modulo"]=>
string(15) "Administradores"
[0]=>
string(15) "Administradores"
["Tipo"]=>
string(7) "Excluir"
[1]=>
string(7) "Excluir"
}
[3]=>
array(4) {
["Modulo"]=>
string(15) "Administradores"
[0]=>
string(15) "Administradores"
["Tipo"]=>
string(3) "Ler"
[1]=>
string(3) "Ler"
}
間違ってこれを試してください:<?phpの $私=配列( 配列( 'モジュール' => '管理者'、 '許可' => '書き込み')、 配列( 'モジュール' => '管理者'、' Permission '=>' read ') ); エコー '
'; array( 'Module' => 'Administrator'、 'Permission' => 'update')$ ALL = array( array( 'Module' => '管理者'、 '許可' => '書き込み')、 ( 'モジュール' => '管理者'、 '許可' => '削除')、 アレイ( 'モジュール' => '管理者'、 '許可' => '削除') ); エコー ' '; var_dump(array_diff($ all、$ my)); ?> – user1149440