У меня есть массив с именем $menu_array
; и в настоящее время выглядит так
[0] => Array ( [id_parent_menu] => 4 [parent_info] => test [children_menu] => Array ( [0] => Array ( [id_child_menu] => 21 [children_info] => test ) [1] => Array ( [id_child_menu] => 22 [children_info] => test2. ) ) )
и так далее.
У меня также есть другой массив $access
который выглядит так:
array( [4]='true' [22]='true' )
То, что я пытаюсь сделать, это проверить, существует ли ключ для массива $access
как id_parent_menu
, а затем поставить ключ и значение
$menu_array[can_view]='true';
Затем также проверьте, существует ли внутри массива $children_menu
внутри $menu_array
если ключ $access
существует как id_child_menu
и также устанавливает значение can_view = true
.
$menu_array['children_menu'][1]['can_view']='true';
foreach ($menu_array as $key => $value){ if(isset($access[$value['id_parent_menu']]) && $access[$value['id_parent_menu']]) { $menu_array[$key]['can_view']=true; foreach($value['children_menu'] as $key2 => $value2) if(isset($access[$value2['id_child_menu']]) && $access[$value2['id_child_menu']]) $menu_array[$key]['children_menu'][$key2]['can_view']=true; } }
(Детский элемент может быть виден только в том случае, если отображается родительский элемент.)