将数组转换为不同格式的php

时间:2012-05-24 09:57:58

标签: php arrays

是否有简单快捷的方法从

转换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 ));

它不被我接受。

2 个答案:

答案 0 :(得分: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 )

来移除其他数组

我希望这有点清楚......

答案 1 :(得分:0)

应该是

$this->allow($_userRole, 'module-contr', $actions['visits-visit']);