如何将权限数组添加到现有数组

时间:2019-03-28 06:36:06

标签: arrays wordpress permissions array-merge

我正在构建一个Web应用程序,该应用程序可以选择分配一个或多个组可见的数组项目。所有这些都将传递给Wordpress的update_option,但从根本上来说,这是一个PHP问题。

对我来说,这将是一个复选框,对于该组,如果他们具有权限,则为true或false:

     | Title 1   //$array['label']
-------------------------
Opt1 |    x   
-------------------------
Opt2 |    x   
-------------------------
Opt3 |        
-------------------------
Opt4 |    
-------------------------
Opt5 |    x

$ array的值将从此处提取:

$array = array(
    array( 'label' => 'Title 1',    'class' => 'loc01' ),
    array( 'label' => 'Title 2',    'class' => 'loc02' ),
    array( 'label' => 'Title 3',    'class' => 'loc03' ),
    array( 'label' => 'Title 4',    'class' => 'loc04' ),
    array( 'label' => 'Title 5',    'class' => 'loc05' ),
);

$ array由array_merge()与原始数组一起创建,而新数组由用户在前端创建。

$old_array  = $array;
$new_array  = array( array( 'x' => $array_label, 'y' => $array_class ) );
$new_array  = array_merge( $old_array, $new_array );

将权限添加到$ array的最佳方法是什么?

应该是这样:

$array = array(
    array( 'label' => 'Title 1',    'class' => 'loc01', 'permission' => array( 'Opt1', 'Opt2', 'Opt3' ) ),
    ...
    array( 'label' => 'Title 5',    'class' => 'loc05' ),
);

在循环输出时,如何最好地在前端验证权限?

foreach( $array as $item )
    if( in_array( 'current_group', $item[permission] )
        ...

希望这很有道理!

1 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法如下:

foreach($array as $key => $val)
{
  $array[$key]['permission'] = 'true or false(your choice)';
}