0

我有一个名为$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数组的键是否以 a 形式存在id_parent_menu,然后放置一个键和值

$menu_array[can_view]='true';

然后,还要检查如果a键作为 a 存在的$children_menu数组内部是否也在其中设置一个值。$menu_array$accessid_child_menucan_view = true

$menu_array['children_menu'][1]['can_view']='true';
4

1 回答 1

1
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;
  }

}

(仅当父项可见时,子项才可见。)

于 2012-12-14T19:53:49.357 回答