Php 检查多维数据库中是否存在两对值和键
我有这个代码来检查“key”和“value”之间是否存在组合。工作完美Php 检查多维数据库中是否存在两对值和键,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有这个代码来检查“key”和“value”之间是否存在组合。工作完美 $permissions = array( 0 => array( "action" => "CREATE", "subject" => "USER" ), 1 => array( "action" => "EDIT", "subject" => "USER"
$permissions = array(
0 => array(
"action" => "CREATE",
"subject" => "USER"
),
1 => array(
"action" => "EDIT",
"subject" => "USER"
),
2 => array(
"action" => "DELETE",
"subject" => "USER"
),
3 => array(
"action" => "CREATE",
"subject" => "TASK"
),
);
下面的代码行返回“TRUE”,但在数组的同一行中没有“action=EDIT”和“subject=TASK”的组合
public static function verifyPermissions($array, $key, $val) {
foreach ($array as $item){
if ( $item[$key] == $val)
return true;
}
return false;
}
我需要在数组的同一行中同时检查这两个选项。
如何修复此错误?您可以像这样扩展功能
if(Group::verifyPermissions($permissions,"action","EDIT") && Group::verifyPermissions($permissions,"subject","TASK"))
非常感谢你。工作起来很有魅力!我想了些什么,但没能完成。
public static function verifyTwoPermissions($array, $keys, $values) {
foreach ($array as $item){
if ($item[$keys[0]] == $values[0] && $item[$keys[1]] == $values[1])
return true;
}
return false;
}
// verifyTwoPermissions($permissions, array("action", "subject"), array("EDIT", "TASK"))