-3

有没有简单快捷的方法来转换 php 数组

 $actions =  Array ( [visits-visit] => Array ( 
                                  [0] => index 
                                  [1] => edit 
                                  [2] => add 
                                  [3] => delete 
                                  [4] => search 
                                ) 
       ) 

Array ( [visits-visit] => Array ( index ,edit ,add ,delete, search ) ) 

我有一个第一种格式的数组,需要这样添加

 $this->allow($_userRole, 'module-contr', array( index ,edit ,add ,delete, search));

当我这样

$this->allow($_userRole, 'module-contr', array( $actions ));

它没有按我的意愿接受。

4

2 回答 2

1

这两个数组本质上是相同的......第一个数组只是您决定打印出来时的显示方式(print_r()例如)。当你定义一个数组 IE 时。创建一个里面已经有值的数组,你会写这样的东西 -

$someArr = array(
  'index_of_another_array' => Array ( 'index' ,'edit' ,'add' ,'delete', 'search' )
); 

本质上,您正在创建的数组已经具有它们的出现顺序所暗示的数字索引......索引处的元素[0]是字符串index。在索引[1]处你有字符串edit......在索引处[2]你有add......等等......

另一件需要注意的是您所说的这一行 -

$this->allow($_userRole, 'module-contr', array( $actions ));

使用最后一个参数,您实际上所做的是$actions 一个额外的数组中传递 !您正在做的是创建一个第一个元素等于的新数组$actions。我认为您应该通过简单地传递$actions不是 array( $actions )

我希望这能澄清一些事情......

于 2012-05-24T10:07:27.827 回答
0

应该

$this->allow($_userRole, 'module-contr', $actions['visits-visit']);
于 2012-05-24T10:09:25.687 回答