我有一个从数据库结果创建的数组。它包含基于权限在UI上允许的“视图”列表。
我正在尝试创建一个可以传递视图的函数,它会告诉我它是否存在于数组中。
我的阵列:
[views] => SimpleXMLElement Object
(
[keys] => Array
(
[0] => SimpleXMLElement Object
(
[view] => viewOriginalFeedback
)
[1] => SimpleXMLElement Object
(
[view] => viewTarget
)
)
)
)
我的PHP功能:
function getViews($val) {
// Define as global
global $perms;
// Loop over array
foreach ($perms as $item){
if (isset($item['view']) && $item['view'] == $val){
return true;
}else{
return false;
}
}
}
echo getViews('viewTarget');
它永远不会在我的echo语句中返回任何内容。
请注意我遗漏的任何明显事实?
更新:我的数组从KEYS
$perms = $permissions->data->views->keys;
开始
更新2
这似乎已经解决了。我不得不将return false;
移到IF语句之外,这样它就不会被真值重写。
function getViews($val) {
// Define as global
global $perms;
// Loop over array
foreach ($perms as $item){
if (isset($item->view) && $item->view == $val){
return true;
}
}
return false;
}
答案 0 :(得分:1)
目前尚不清楚你的数组是否完全按照你所显示的方式传递,但如果是,那么试试这个:
function getViews($val) {
// Define as global
global $perms;
// Loop over array
foreach ($perms['keys'] as $item){
if (isset($item['view']) && $item['view'] == $val){
return true;
}
}
return false; }