2011-09-24 55 views
0

更具体地说,我想将以下数组转换为关联数组。原始数组的索引类似[0],[1],[2],... [n]。我用的功能是Set :: combine Cakephp,但我不能重新创建所需的关联数组的所有三个级别。重整关联数组

Array 
(
    [0] => Array 
     (
      [ACCOUNTS] => Array 
       (
        [description] => A 
       ) 

      [HEADERS] => Array 
       (
        [description] => B     
       ) 

      [COLUMNS] => Array 
       (
        [description] => C 
        [id] => 8 
       ) 

     ) 
    [1] => Array 
     (
      [ACCOUNTS] => Array 
       (
        [description] => A1 
       ) 

      [HEADERS] => Array 
       (
        [description] => B1     
       ) 

      [COLUMNS] => Array 
       (
        [description] => C1 
        [id] => 9 
       ) 

     )  
) 

我希望最终的阵列是以下关联数组:

Array 
(
    [A] => Array 
     (
      [B] => Array 
       (
        [C] => 8 
       ) 
     ) 
    [A1] => Array 
     (
      [B1] => Array 
       (
        [C1] => 9 
       ) 
     )  
) 

我无法重新创建上面的阵列的所有(3)的水平。

+0

更具体。我知道,你是如何获得上述价值的。这些价值。 – user909058

回答

0

你的意思是这样的:

$newarray = array($first['ACCOUNTS']['description'] => array($first['HEADERS']['description'] => array($first['COLUMNS']['description'] => $first['COLUMNS']['id']))); 

所以,如果你运行它给你想要的东西如下:

$first = array(
'ACCOUNTS' => array('description' => 'A'), 
'HEADERS' => array('description' => 'B'), 
'COLUMNS' => array('description' => 'C', 'id' => '8')); 

echo "<pre>"; 
print_r($first); 


$newarray = array($first['ACCOUNTS']['description'] => 
      array($first['HEADERS']['description'] => 
       array($first['COLUMNS']['description'] => 
        $first['COLUMNS']['id']))); 


print_r($newarray); 

然后您结束:

Array 
(
    [ACCOUNTS] => Array 
     (
      [description] => A 
     ) 

    [HEADERS] => Array 
     (
      [description] => B 
     ) 

    [COLUMNS] => Array 
     (
      [description] => C 
      [id] => 8 
     ) 

) 
Array 
(
    [A] => Array 
     (
      [B] => Array 
       (
        [C] => 8 
       ) 

     ) 

) 
+0

更具体地说,我想把下面的数组变成一个关联的数组。原始数组的索引类似[0],[1],[2],... [n]。我使用的函数是Set :: Cakephp的组合,但我可以重新创建所需的关联数组的所有三个级别。 – gdimakop