【问题标题】:Check for an array's key existing as a another arrays value检查作为另一个数组值存在的数组键
【发布时间】:2012-12-02 20:00:23
【问题描述】:

我有一个名为$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';

然后,如果$access 键作为id_child_menu 存在,还要检查$menu_array 内部的$children_menu 数组是否也存在can_view = true 的值。

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

【问题讨论】:

    标签: php arrays multidimensional-array foreach associative-array


    【解决方案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;
      }
    
    }
    

    (子项只有在父项可见时才可见。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 2020-06-09
      相关资源
      最近更新 更多